matdb 0.1.0

An experimental embedded SQL-like DBMS
Documentation
use anyhow::Result;
use matdb::{Db, Value};

#[test]
fn hello_matdb() -> Result<()> {
    let mut db = Db::open_memory()?;

    db.run(
        "CREATE TABLE messages (id INT PRIMARY KEY, body TEXT NOT NULL);",
        Vec::new(),
    )?;
    db.run(
        "INSERT INTO messages (id, body) VALUES (?0, ?1);",
        vec![1.into(), "Hello, matdb!".to_string().into()],
    )?;
    db.finish_tx()?;

    assert_eq!(
        Value::String("Hello, matdb!".to_string()),
        db.run("SELECT body FROM messages WHERE id = 1;", Vec::new())?
            .unwrap()
            .rows[0][0]
    );

    Ok(())
}