use crate::dbi;
use crate::env;
pub fn create_env() -> env::Environment {
unsafe {
let mut builder = env::EnvBuilder::new().unwrap();
builder.set_maxdbs(2).unwrap();
builder
.open(
tempdir::TempDir::new_in(".", "lmdbzero")
.unwrap()
.path()
.to_str()
.unwrap(),
&env::open::Flags::empty(),
0o600,
)
.unwrap()
}
}
#[allow(dead_code)]
pub fn dupdb(env: &'_ env::Environment) -> dbi::Database<'_> {
dbi::Database::open(
env,
Some("example"),
&dbi::DatabaseOptions::new(dbi::db::Flags::CREATE | dbi::db::Flags::DUPSORT),
)
.unwrap()
}
#[allow(dead_code)]
pub fn dupfixeddb(env: &'_ env::Environment) -> dbi::Database<'_> {
dbi::Database::open(
env,
Some("example"),
&dbi::DatabaseOptions::new(
dbi::db::Flags::CREATE | dbi::db::Flags::DUPSORT | dbi::db::Flags::DUPFIXED,
),
)
.unwrap()
}
#[allow(dead_code)]
pub fn defdb(env: &'_ env::Environment) -> dbi::Database<'_> {
dbi::Database::open(env, None, &dbi::DatabaseOptions::defaults()).unwrap()
}