heed icon indicating copy to clipboard operation
heed copied to clipboard

A fully typed LMDB wrapper with minimum overhead 🐦

Results 52 heed issues
Sort by recently updated
recently updated
newest added

Currently, we can specify the `EnvOpenOption` when starting heed, but then we can’t query them. It would be cool to have a wrapper around [`mdb_env_info`](http://www.lmdb.tech/doc/group__mdb.html#ga18769362c7e7d6cf91889a028a5c5947).

Hi there! I am building a system that uses heed and while running some tests it prints the following and then crashes: ``` lmdb-sys/lmdb/libraries/lib:6637: Assertion 'root > 1' failed in...

bug

This PR fixes #127, closes #94, closes #56, closes #88, closes #40, closes #94, closes #132. - [ ] Publish the _lmdb-master3-sys_ crate to crates.io. - [ ] Use the...

enhancement
breaking

All the slice types define `EItem = [T]`, since `[T]` is not Sized, `RangeFrom` (and others) do not implement `RangeBounds`. Is there some workaround that I am missing? My use...

- [x] Create a sub-crate for lmdb-sys in this repository, based on the `mdb.master.3` branch of LMDB. - [x] Move from zerocopy to bytemuck (also related to licensing). https://github.com/meilisearch/heed/issues/82 -...

enhancement
breaking

It doesn't appear that the API supports databases with multiple values for a key (the MDB_DUPSORT flag)

Currently, when trying to convert or use heed for `?`-error purposes, i get the following; ``` error[E0277]: `(dyn std::error::Error + 'static)` cannot be shared between threads safely --> tools\migrate\src\main.rs:17:68 |...

Avoid nested transaction for database, as these are not allowed with MDB_WRITEMAP

To reproduce: ```rust let path = Path::new("target").join("test.mdb"); fs::create_dir_all(&path)?; let mut env_builder = EnvOpenOptions::new(); unsafe { env_builder.flag(Flags::MdbNoSync); env_builder.flag(Flags::MdbWriteMap); } let env = env_builder.map_size(10 * 1024 * 1024 * 1024).max_dbs(1000).open(path)?; let db:...

This makes is possible to send heed errors across threads. This was a breaking API change.