use motedb::{Database, QueryResult};
fn main() -> motedb::Result<()> {
let _ = std::fs::remove_dir_all("hello.mote");
let db = Database::create("hello.mote")?;
db.execute("CREATE TABLE users (id INT PRIMARY KEY, name TEXT, age INT)")?;
db.execute("INSERT INTO users VALUES (1, 'Ada', 36)")?;
db.execute("INSERT INTO users VALUES (2, 'Linus', 54)")?;
db.execute("INSERT INTO users VALUES (3, 'Grace', 85)")?;
let result = db.execute("SELECT name, age FROM users WHERE age > 40 ORDER BY age")?;
if let QueryResult::Select { columns, rows } = result.materialize()? {
println!("{:?}", columns);
for row in &rows {
println!("{:?}", row);
}
}
let count = db.execute("SELECT COUNT(*) FROM users")?.materialize()?;
if let QueryResult::Select { rows, .. } = count {
println!("total users: {:?}", rows[0][0]);
}
Ok(())
}