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).
Ord
is no longer required for Storable
types.deref_owned
version 0.10.1Storable::TRIVIAL_CMP
was set to true for signed byte
slices, which led to wrong comparisons of keys or duplicate values.impl_ord_for_storable
was broken. The macro is no longer
needed and has been removed, thus the bug does not exist anymore.cow
has been added, which re-exports items from crate
deref_owned
.storable
module have been cleaned up.BorrowStorable
which allowed removing
the private IsType
trait and the public StorableWithOwned
trait.GenericCow
where applicablederef_owned
version 0.8.0deref_owned
version 0.7.0 (this changes bounds on
Storable::AlignedRef
)deref_owned
version 0.6.1deref_owned::GenericCow
and deref_owned::Owned
are no longer
re-exportedFor older changes, refer to the CHANGELOG.md
file.