Kagami Sascha Rosylight
|
0f3e934f77
|
Follow the default behavior of rustfmt (#224)
|
2 years ago |
Jan-Erik Rediger
|
a2de8a917d
|
Address new clippy warnings
|
2 years ago |
Jan-Erik Rediger
|
dd42887903
|
Hide all of LMDB behind a feature
|
2 years ago |
Xidorn Quan
|
835c5ac90e
|
Remove mention of failure in doc
|
3 years ago |
Xidorn Quan
|
47f63aead1
|
Replace failure with thiserror
|
3 years ago |
Victor Porof
|
a558c4bc1b
|
Handle all corrupted cases in the easy migration
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
3 years ago |
Victor Porof
|
bce037a902
|
Add a way to discard corrupted databases on load
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
b51b5e07a5
|
Prevent potential deadlocks in safe mode environments when opnening dbs
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
2d93f06d39
|
Make easy migrator more reslient against situations where old files don't get deleted
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
d74250b549
|
Make migration methods and error handling less surprising
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
1c892355b7
|
Ignore file invalid errors when migrating
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
a2b4f2cc77
|
Add ability to disable path canonicalization
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
99203b05c7
|
Ignore source environment path errors when migrating, as per documentation
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
84b74b7610
|
Handle NO_LOCK when opening environments
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
b2f4f097c6
|
Handle NO_LOCK and NO_SUB_DIR when retrieving environment files
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
a634920d46
|
Remove `set_check_if_env_exists` since it's unreliable with LMDB
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
bada6fec6f
|
Make migration easier for consumers
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
ceda0d5091
|
Implement a basic migrator that works across backends
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
0fd756d5d9
|
Add ability to list all created dbs
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
55d04b43ad
|
Move current migrator to a legacy module
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
3c502c4bb4
|
Pre: Iterators shouldn't wrap values in options
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
42c5c2c1b1
|
Remove leftover/unused `OtherError`
|
4 years ago |
Victor Porof
|
5d14812cc9
|
Hide DUP_FIXED behind the same build flag as DUP_SORT
|
4 years ago |
Victor Porof
|
ef64a29fc7
|
Fix inconsistent max_dbs behavior between backends
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
71de0e836d
|
Graciously handle backends with no need for resizing, instead of panicking
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
a8cef4ee1a
|
Allow creating dirs if they don't exist
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
9fe69b11ce
|
Update crate documentation, more consistent formatting
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
4 years ago |
Victor Porof
|
d33e79fcd1
|
Minor clippy warning fixes
|
4 years ago |
Victor Porof
|
c433e63551
|
Move tests to the `tests` directory to allow vendoring into m-c
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
dd360eeb69
|
Expose common backend errors as top-level store errors; this allows users not to worry about which backend they're using
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
4cdfba6754
|
Rename `DatabaseInvalid` to `FileInvalid` to avoid confusion with `DatabaseCorrupted`
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
a4d3ef2ca7
|
Rename `DbPoisonError` to `EnvPoisonError`
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
b9864a016c
|
Expose all backend implementation data structures to users
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
d53f82d651
|
Don't leak arena implementation details into documentation
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
5a00929742
|
Opening should fail when read transactions exist for `open` and `create` operations
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
ae33373bc4
|
Delay short-circuiting `skip_while` and `filter` adaptors for better perforamnce in case of multi databases
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
a5389008b6
|
Don't allocate when creating 'from' and 'dup_of' iterators
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
c8fac3bb43
|
Rename confusingly or inappropriately named lifetimes
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
abcc4b0371
|
Remove dead code
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
b5fedd453a
|
Fix cursor/iterator lifetime coupling which can result in referencing invalid memory when eliminating dead code
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
607700872d
|
Optimize for non-int and non-dup-sort types of databases using features
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
3f501341c0
|
Fix clippy `inefficient_to_string` warnings on string values
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
d959e7d3ff
|
Add tests verifying that deletion also fails with a top-level store error
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
5517b283a9
|
Ensure that backends interop with each other in expected ways
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
fca4a8d9ea
|
Ensure that backends fail with a store error when attempting to open invalid databases
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
719b5a57fe
|
Add more tests
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
40e1d84b60
|
Make iterators yield items sorted by key (match LMDB)
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
957fb8d34d
|
Prevent opening databases when `max_dbs` is reached (match LMDB)
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
4bbe883d29
|
Prevent opening databases while read transactions are open (match LMDB)
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |
Victor Porof
|
bdb02af9b6
|
Rename `Rkv::from_env` to `Rkv::from_builder` to better reflect what this method expects for params
Signed-off-by: Victor Porof <victor.porof@gmail.com>
|
5 years ago |