mmtkvdb 0.9.0

Memory-mapped key-value database using LMDB
Documentation

mmtkvdb

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.

Safety

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.

API Documentation

For documentation on how to use this crate, refer to the example in src/lib.rs.

License

See contained LICENSE file (MIT License).

Changelog

  • 2023-01-10: Version 0.9.0
    • Renamed DbOptions to DbBuilder
    • Provide type alias DbSpec<K, V, C> for DbBuilders which have a name (or the unnamed database) set
    • Use bindgen version 0.63 for building
  • 2022-08-27: Version 0.8.2
    • Removed wrong (unnecessary) bound T: Storable in implementation of BorrowStorable for Vec<T> (only [T] needs to be Storable)
    • Re-export storable::BorrowStorable in crate-level module (resulting in all items of module storable being available at crate-level)
    • Directly use question mark operator in all examples
    • Minor code style change (use io::Result<_> instead of Result<_, io::Error>)
  • 2022-07-22: Version 0.8.1
    • Fix warning by removing #![feature(core_ffi_c)], which is now stable
    • Removed unnecessary Sized supertrait of Storable
    • Some code cleanup (simplified bounds on GATs in Storable tuples)

For older changes, refer to the CHANGELOG.md file.