- Move database backends to their own crates
- Add examples
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.3.0
- Added
Database::set_nx
method for setting a value if it does not exist Database::get
andDatabase::get_ref
now return aResult<Option<T>, Error>
instead ofResult<T, Error>
- Removed
ResultExt
trait - Added
iter
,iter_raw
,iter_prefix
,iter_prefix_raw
methods toDatabase
andTransaction
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.2.0
- Database now works without specifying a lifetime parameter
This is done by using a
self_cell
to store the associated environment - Remove
mut
requirement for all methods
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.1.0
- Add
_raw
methods toDatabase
for raw access to the underlying database - Added
uuid
feature forUuid
support - Properly implement
get_multi
(was previously just a loop overget
) - Removed lifetime parameters from
Env
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.0.8
- Added support for transactions
- Refactored Database Traits
- Added
Env::open_tupel
method for opening a database with a tuple of types - Added
Env::open_lazy
method for opening a database with a lazy type (as a workaround for Database not bein Sync) - RocksDB backend now supports + Sync
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.0.7
- Added
DatabaseColumnTxn
trait for transactional columns - Added
DatabaseTxn
trait for transactions - Renamed
DatabaseColumn
trait toDatabaseCommon
- Moved
get_multi_ref
toDatabaseCommonRefMut
trait - Added
Database::delete_db
method for deleting the underlying database - Removed
DatabaseCommonClear
implementation for RocksDB backends and replaced withDatabaseCommonDelete
Database::inner
now returns a reference to the underlying column instead of the database driver
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.0.6
- Less lifetime parameters
- Added
backend::rocksdb::RocksDBOptimistic
for optimistic locking - Added
backend::rocksdb::RocksDBPessimistic
for pessimistic locking - Export
Flushable
andInnerable
traits
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.0.5
- added
Database::get_multi
,Database::clear
,Database::remove
,Database::contains
,Database::flush
methods - Refactored
Database
to use the new DBCommon trait - Added
.inner()
methods toEnv
andDatabase
to allow access to the underlying database - Experimental
AnyDatabase
to allow for multiple database types to be used in the same application
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.0.4
- Improved Documentation (README/Rust Docs)
- Added bool support for serialization
- Fix feature flags
Full Changelog: https://github.com/explodingcamera/okv/commits/v0.0.3