1 unstable release
0.0.1 | Jul 11, 2023 |
---|
#21 in #libsql
305KB
6.5K
SLoC
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
Dependencies
~50MB
~857K SLoC