libsql_core

Crates.iolibsql_core
lib.rslibsql_core
version0.0.1
sourcesrc
created_at2023-07-11 14:07:02.906547
updated_at2023-07-11 14:07:02.906547
descriptionlibSQL library: the main gateway for interacting with the database
homepage
repositoryhttps://github.com/libsql/libsql
max_upload_size
id913813
size95,973
Pekka Enberg (penberg)

documentation

README

libSQL API for Rust

Getting Started

Connecting to a database

use libsql_core::Database;

let db = Database::open("hello.db");

let conn = db.connect().unwrap();

Creating a table

conn.execute("CREATE TABLE IF NOT EXISTS users (email TEXT)", ()).unwrap();

Inserting rows into a table

conn.execute("INSERT INTO users (email) VALUES ('alice@example.org')", ()).unwrap();

Querying rows from a table

let rows = conn.execute("SELECT * FROM users WHERE email = ?", params!["alice@example.org"]).unwrap().unwrap();
let row = rows.next().unwrap().unwrap();
// prints "alice@example.org"
println!("{}", row.get::<&str>(0).unwrap());

Developing

Setting up the environment:

export LIBSQL_STATIC_LIB_DIR=$(pwd)/../../.libs

Building the APIs:

cargo build

Running the tests:

cargo test

Running the benchmarks:

cargo bench

Run benchmarks and generate flamegraphs:

echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
cargo bench --bench benchmark -- --profile-time=5
Commit count: 27512

cargo fmt