rkv
rkv copied to clipboard
A simple, humane, typed key-value storage solution.
The lmdb `Error` type is exposed via `rkv::error::StoreError::LmdbError`. `rkv` doesn't re-export the `lmdb-rkv` crate, so anyone who wants to use this type has to make `lmdb-rkv` a direct dependency of...
It seems like it would be easy to add a few methods to SingleStore et al to produce Iterators that go in reverse. I proposed this in https://github.com/mozilla/lmdb-rs/issues/75, which if...
Hi, in my search for LMDB bindings for Rust I stumbled upon this project as one of the more actively maintained ones. What scares me is the warning on the...
I have found RoCursor, but no RwCursor, any reason?
Currently `Rkv` provides 4 types of Stores: Single, Multi, Integer and MultiInteger. All of them require the value to be of type `Value`, which imposes certain overhead, since the values...
At present a missing key in a `.delete` call returns `StoreError::LmdbError(lmdb::error::Error::NotFound)`. It is necessary to handle this case specifically in order to implement delete-if-present, which means that consumers need to...
https://docs.rs/rkv/0.10.2/rkv/struct.EnvironmentBuilder.html#method.open_with_permissions I don't see a way to build an `Rkv` from an `Environment` directly, only via an `EnvironmentBuilder`, but there's no way to set permissions/modes on an `EnvironmentBuilder`.
This is a bit of a hole/omission. I was aiming for simplicity when I defined the set of types, and was also following Mentat's type system, which was definitely aimed...
It would be useful for debugging and testing to be able to dump an entire database as JSON. This should be relatively easy to implement: all of our types work...
Noticed this when I was investigating this [TODO item](https://github.com/mozilla/rkv/blob/master/src/readwrite.rs#L78). The current serialization mechanism (serialize a two-element tuple i.e. `(type, value)`) seems to introduced a significant amount of overheads on the...