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.
Because of how memory-mapped I/O is being used and also because of certain
assumptions of the underlying LMDB API, opening environments and databases
requires unsafe
Rust (i.e. the programmer must ensure that certain
preconditions are met that cannot be enforced by the compiler to avoid
undefined behavior). If you aim to program in safe Rust only, this Rust
library is not suitable for you.
For documentation on how to use this crate, refer to the example in
src/lib.rs
.
See contained LICENSE
file (MIT License).
Env
trait supports reference-to-reference conversion to EnvRo
,
either through AsRef<EnvRo>
, which is a supertrait of Env
now, or
using the new Env::as_env_ro
method.Env
trait only for EnvRo
and EnvRw
, and no longer for
every T: AsRef<EnvRo>
EnvRo
have been moved to a new trait Env
, which is
implemented for both EnvRo
and EnvRw
.EnvRw
no longer implements Deref<Target = EnvRo>
(but still
implements AsRef<EnvRo>
).traits
has been added, which re-exports the
Env
, EnvRef
, and Txn
traits in unnameable form, such that by
importing traits::*
all trait methods will be in scope.EnvRef
is implemented for &T
where T: Env
.AsRef<EnvRo>
for EnvRo
and EnvRw
Storable
trait for byte arrays ([u8; N]
)Storable
trait for the unit type ()
EnvRef
trait which provides an abstraction over &EnvRo
and
&mut EnvRw
DbOptions
to DbBuilder
DbSpec<K, V, C>
for DbBuilder
s which have a name
(or the unnamed database) setbindgen
version 0.63 for buildingFor older changes, refer to the CHANGELOG.md
file.