extern crate lmdb_rs as lmdb;
use std::path::Path;
use lmdb::{EnvBuilder, DbFlags};
fn main() {
let path = Path::new("test-lmdb");
let env = EnvBuilder::new().open(&path, 0o777).unwrap();
let db_handle = env.get_default_db(DbFlags::empty()).unwrap();
let txn = env.new_transaction().unwrap();
{
let db = txn.bind(&db_handle);
let pairs = vec![("Albert", "Einstein",),
("Joe", "Smith",),
("Jack", "Daniels")];
for &(name, surname) in pairs.iter() {
db.set(&surname, &name).unwrap();
}
}
match txn.commit() {
Err(_) => panic!("failed to commit!"),
Ok(_) => ()
}
let reader = env.get_reader().unwrap();
let db = reader.bind(&db_handle);
let name = db.get::<&str>(&"Smith").unwrap();
println!("It's {} Smith", name);
}