Thick Ada bindings to the Lightning Memory-Mapped Database (LMDB) library, a very high-performance and resilient embedded key-value store.
Note: The bindings are currently complete, however there are some functions that are not yet bound to, mostly functions intended for extremely-high-performance applications that custom-tune low-level database parameters for their specific data. All the core functionality of the library is implemented in these bindings, and it is suitable for all but these atypical use-cases. Contributions implementing bindings to these functions are welcome if you find them necessary.
See the package specifications, which have copious doc comments:
You may also want to look at the example program.
As well as the thick library,
thin bindings to the entire LMDB library are also available:
alr with lmdb_ada, then
with "lmdb.gpr"; in your GPRBuild file.
Alternately, add this repo as a subtree or submodule in your project and
with "path/to/lmdb.gpr"; in your GPRbuild file.
You may also install the library & specification in a system library directory and include it from there.
git clone https://git.sr.ht/~nytpu/lmdb-ada && cd lmdb-ada make make example # builds example program sudo make install
You may also use plain
gprinstall commands rather than the
The upstream URL of this project is https://git.sr.ht/~nytpu/lmdb-ada. Send suggestions, bugs, patches, and other contributions to ~firstname.lastname@example.org. For help sending a patch through email, see https://git-send-email.io. You can browse the list archives at https://lists.sr.ht/~nytpu/public-inbox.
If you have a very large set of changes, please use
rather than sending a large patchset.
Copyright (c) 2022 nytpu <alex [at] nytpu.com>
Licensed under the terms of the BSD 2-Clause license. You can view a copy of
the licenses in
LMDB is Copyright 2011-2021 Howard Chu, Symas Corp.