Struct lmdb_rs::core::Database
[−]
[src]
pub struct Database<'a> { /* fields omitted */ }
Database
Methods
impl<'a> Database<'a>
[src]
fn stat(&'a self) -> MdbResult<MDB_stat>
Retrieves current db's statistics.
fn get<V: FromMdbValue + 'a>(&'a self, key: &ToMdbValue) -> MdbResult<V>
Retrieves a value by key. In case of DbAllowDups it will be the first value
fn set(&self, key: &ToMdbValue, value: &ToMdbValue) -> MdbResult<()>
Sets value for key. In case of DbAllowDups it will add a new item
fn append<K: ToMdbValue, V: ToMdbValue>(
&self,
key: &K,
value: &V
) -> MdbResult<()>
&self,
key: &K,
value: &V
) -> MdbResult<()>
Appends new key-value pair to database, starting a new page instead of splitting an existing one if necessary. Requires that key be >= all existing keys in the database (or will return KeyExists error).
fn append_duplicate<K: ToMdbValue, V: ToMdbValue>(
&self,
key: &K,
value: &V
) -> MdbResult<()>
&self,
key: &K,
value: &V
) -> MdbResult<()>
Appends new value for the given key (requires DbAllowDups), starting a new page instead of splitting an existing one if necessary. Requires that value be >= all existing values for the given key (or will return KeyExists error).
fn insert(&self, key: &ToMdbValue, value: &ToMdbValue) -> MdbResult<()>
Set value for key. Fails if key already exists, even when duplicates are allowed.
fn del(&self, key: &ToMdbValue) -> MdbResult<()>
Deletes value for key.
fn del_item(&self, key: &ToMdbValue, data: &ToMdbValue) -> MdbResult<()>
Should be used only with DbAllowDups. Deletes corresponding (key, value)
fn new_cursor(&'a self) -> MdbResult<Cursor<'a>>
Returns a new cursor
fn del_db(self) -> MdbResult<()>
Deletes current db, also moves it out
fn clear(&self) -> MdbResult<()>
Removes all key/values from db
fn iter(&'a self) -> MdbResult<CursorIterator<'a, CursorIter>>
Returns an iterator for all values in database
fn keyrange_from<'c, K: ToMdbValue + 'c>(
&'c self,
start_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorFromKeyIter>>
&'c self,
start_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorFromKeyIter>>
Returns an iterator through keys starting with start_key (>=), start_key is included
fn keyrange_to<'c, K: ToMdbValue + 'c>(
&'c self,
end_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorToKeyIter>>
&'c self,
end_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorToKeyIter>>
Returns an iterator through keys less than end_key, end_key is not included
fn keyrange_from_to<'c, K: ToMdbValue + 'c>(
&'c self,
start_key: &'c K,
end_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorKeyRangeIter>>
&'c self,
start_key: &'c K,
end_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorKeyRangeIter>>
Returns an iterator through keys start_key <= x < end_key
. This is, start_key is
included in the iteration, while end_key is kept excluded.
fn keyrange<'c, K: ToMdbValue + 'c>(
&'c self,
start_key: &'c K,
end_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorKeyRangeIter>>
&'c self,
start_key: &'c K,
end_key: &'c K
) -> MdbResult<CursorIterator<'c, CursorKeyRangeIter>>
Returns an iterator for values between start_key and end_key (included). Currently it works only for unique keys (i.e. it will skip multiple items when DB created with ffi::MDB_DUPSORT). Iterator is valid while cursor is valid
fn item_iter<'c, 'db: 'c, K: ToMdbValue>(
&'db self,
key: &'c K
) -> MdbResult<CursorIterator<'c, CursorItemIter<'c>>>
&'db self,
key: &'c K
) -> MdbResult<CursorIterator<'c, CursorItemIter<'c>>>
Returns an iterator for all items (i.e. values with same key)
fn set_compare(
&self,
cmp_fn: extern "C" fn(_: *const MDB_val, _: *const MDB_val) -> c_int
) -> MdbResult<()>
&self,
cmp_fn: extern "C" fn(_: *const MDB_val, _: *const MDB_val) -> c_int
) -> MdbResult<()>
Sets the key compare function for this database.
Warning: This function must be called before any data access functions are used, otherwise data corruption may occur. The same comparison function must be used by every program accessing the database, every time the database is used.
If not called, keys are compared lexically, with shorter keys collating before longer keys.
Setting lasts for the lifetime of the underlying db handle.
fn set_dupsort(
&self,
cmp_fn: extern "C" fn(_: *const MDB_val, _: *const MDB_val) -> c_int
) -> MdbResult<()>
&self,
cmp_fn: extern "C" fn(_: *const MDB_val, _: *const MDB_val) -> c_int
) -> MdbResult<()>
Sets the value comparison function for values of the same key in this database.
Warning: This function must be called before any data access functions are used, otherwise data corruption may occur. The same dupsort function must be used by every program accessing the database, every time the database is used.
If not called, values are compared lexically, with shorter values collating before longer values.
Only used when DbAllowDups is true. Setting lasts for the lifetime of the underlying db handle.