Safe Rust bindings for LMDB with encryption at rest
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Victor Porof bca20c45c4 Clippy pass (cargo clippy -- -D warnings -A clippy::match-ref-pats -A clippy::needless-lifetimes) 5 years ago
benches Rustfmt pass (cargo +nightly fmt --all) 5 years ago
lmdb-sys Rustfmt pass (cargo +nightly fmt --all) 5 years ago
src Clippy pass (cargo clippy -- -D warnings -A clippy::match-ref-pats -A clippy::needless-lifetimes) 5 years ago
.appveyor.yml Refresh environment variables before attempting to build lmdb 5 years ago
.gitignore lmdb-sys 10 years ago
.gitmodules switch to mozilla/lmdb submodule 6 years ago
.rustfmt.toml Enable rustfmt and copy config from the rkv project 5 years ago
.travis.yml Format yml files 5 years ago
Cargo.toml Bump version to 0.12, update authors 5 years ago
LICENSE Initial commit 10 years ago
README.md prioritize testing lmdb-rkv with in-tree lmdb-rkv-sys; document publication 6 years ago
azure-pipelines-template.yml Format yml files 5 years ago
azure-pipelines.yml Format yml files 5 years ago

README.md

Build Status Windows Build status

lmdb-rs

Idiomatic and safe APIs for interacting with the Symas Lightning Memory-Mapped Database (LMDB).

This repo is a fork of danburkert/lmdb-rs with fixes for issues encountered by mozilla/rkv.

Building from Source

git clone --recursive git@github.com:mozilla/lmdb-rs.git
cd lmdb-rs
cargo build

Publishing to crates.io

To publish the lmdb-rkv-sys crate to crates.io:

git clone --recursive git@github.com:mozilla/lmdb-rs.git
cd lmdb-rs/lmdb-sys
# Update the version string in lmdb-sys/Cargo.toml and lmdb-sys/src/lib.rs.
cargo publish
git tag lmdb-rkv-sys-$VERSION # where $VERSION is the updated version string
git push git@github.com:mozilla/lmdb-rs.git --tags

To publish the lmdb-rkv crate to crates.io:

git clone --recursive git@github.com:mozilla/lmdb-rs.git
cd lmdb-rs
# Update the version string in Cargo.toml and src/lib.rs and temporarily change
# the lmdb-rkv-sys dependency in Cargo.toml to the latest version on crates.io.
cargo publish
git tag $VERSION # where $VERSION is the updated version string
git push git@github.com:mozilla/lmdb-rs.git --tags
# Change the lmdb-rkv-sys dependency in Cargo.toml back to a path dependency
# on the ./lmdb-sys directory.

Features

  • lmdb-sys.
  • Cursors.
  • Zero-copy put API.
  • Nested transactions.
  • Database statistics.