mmtkvdb
is a crate for Rust which provides a memory-mapped key-value
database. It uses LMDB and links with an existing liblmdb
on the system.
For documentation on how to use this crate, refer to the example in
src/lib.rs
.
See contained LICENSE
file (MIT License).
cursor_set_key_search_value_get_value
, which was wrongly
defined and documentedcore::ffi::{c_size_t, c_int, c_uint}
for now instead of using
std::ffi
(see
commit 07ea143f96
in Rust
for explanation)EnvRo::txn
moved to Env
trait and renamed to Env::txn_ro
.EnvRw::txn
renamed to EnvRw::txn_rw
.EnvRo
and EnvRw
(doc comment explains how
to create them now, i.e. how to start a transaction)PhantomData
to store unit-like structs which indicate
constraints on key uniqueness in DbOptions
and Db
(KeysUnique
and
KeysDuplicate
are Copy
now and contained directly)DbOptions
to Env::open_dbs
Sized
in doc comment on private trait IsType
storable
module doesn't use transmute
on
references anymore. Instead, std::slice::from_raw_parts
,
std::str::from_utf8_unchecked
, and str::as_bytes()
are used.Storable
, StorableConstBytesLen
, and StorableWithOwned
traits
to new (public) storable
module (but Storable
gets re-exported by
crate-level module)u8
and i8
bool
storable (i.e. implement Storable
for bool
)IsType
trait to helpers
module)