pub struct TxnRw<'a> { /* private fields */ }Expand description
Read-write transaction
The methods for read-only access to the database are accessible through the
Txn trait (which is implemented by TxnRo and TxnRw).
Methods for write access, however, are available directly on the TxnRw
struct.
Read-write transactions are aborted when dropped. To make
changes permanent, TxnRw::commit must be called.
handles can be simply dropped when not needed anymore.
Implementations
sourceimpl<'a> TxnRw<'a>
impl<'a> TxnRw<'a>
sourcepub fn put<K, V, C>(
&mut self,
db: &Db<K, V, C>,
key: &K,
value: &V
) -> Result<(), Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
pub fn put<K, V, C>(
&mut self,
db: &Db<K, V, C>,
key: &K,
value: &V
) -> Result<(), Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Put value into database
sourcepub fn put_unless_key_exists<K, V, C>(
&mut self,
db: &Db<K, V, C>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
pub fn put_unless_key_exists<K, V, C>(
&mut self,
db: &Db<K, V, C>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Put value into database unless key exists
sourcepub fn put_unless_pair_exists<K, V>(
&mut self,
db: &Db<K, V, KeysDuplicate>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
pub fn put_unless_pair_exists<K, V>(
&mut self,
db: &Db<K, V, KeysDuplicate>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Put value into database unless key-value pair exists
sourcepub fn delete_key<K, V, C>(
&mut self,
db: &Db<K, V, C>,
key: &K
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
pub fn delete_key<K, V, C>(
&mut self,
db: &Db<K, V, C>,
key: &K
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Delete all values from database that match a given key
sourcepub fn delete_pair<K, V>(
&mut self,
db: &Db<K, V, KeysDuplicate>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
pub fn delete_pair<K, V>(
&mut self,
db: &Db<K, V, KeysDuplicate>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Delete key-value pair from database
Trait Implementations
sourceimpl<'a> Txn for TxnRw<'a>
impl<'a> Txn for TxnRw<'a>
sourcefn get<K, V, C>(
&self,
db: &Db<K, V, C>,
key: &K
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn get<K, V, C>(
&self,
db: &Db<K, V, C>,
key: &K
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Get reference to value in database
sourcefn new_cursor<K, V, C>(
&self,
db: &Db<K, V, C>
) -> Result<Cursor<K, V, C>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn new_cursor<K, V, C>(
&self,
db: &Db<K, V, C>
) -> Result<Cursor<K, V, C>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Create a new cursor
sourcefn cursor_get_current_value_count<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<usize, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_get_current_value_count<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<usize, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Get number of values for current cursor position
sourcefn cursor_set_first<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_first<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to first entry in database
sourcefn cursor_set_first_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_first_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to first entry in database and get pair
sourcefn cursor_set_last<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_last<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to last entry in database
sourcefn cursor_set_last_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_last_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to last entry in database and get pair
sourcefn cursor_get_current_key<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<K::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_get_current_key<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<K::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Get key at current cursor position
sourcefn cursor_get_current_value<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_get_current_value<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Get value at current cursor position
sourcefn cursor_get_current_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_get_current_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Get key-value pair at current cursor position
sourcefn cursor_set_key<K, V, C>(
&self,
cursor: &Cursor<K, V, C>,
key: &K
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_key<K, V, C>(
&self,
cursor: &Cursor<K, V, C>,
key: &K
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to key
sourcefn cursor_set_key_get_value<K, V, C>(
&self,
cursor: &Cursor<K, V, C>,
key: &K
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_key_get_value<K, V, C>(
&self,
cursor: &Cursor<K, V, C>,
key: &K
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to key and get value
sourcefn cursor_search_key_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>,
key: &K
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_search_key_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>,
key: &K
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Set cursor to key or next greater key if not existent and get pair
sourcefn cursor_set_next_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_next_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Move cursor to next entry in database and get pair
sourcefn cursor_set_prev_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_prev_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Move cursor to previous entry in database and get pair
sourcefn cursor_set_next_key_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_next_key_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Move cursor to first value of next key and get pair
sourcefn cursor_set_prev_key_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
fn cursor_set_prev_key_get_pair<K, V, C>(
&self,
cursor: &Cursor<K, V, C>
) -> Result<Option<(K::AlignedRef<'_>, V::AlignedRef<'_>)>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
C: Constraint,
Move cursor to last value of previous key and get pair
sourcefn cursor_set_first_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_first_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Move cursor to first value of current key
sourcefn cursor_set_first_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_first_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Move cursor to first value of current key and get value
sourcefn cursor_set_last_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_last_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Move cursor to last value of current key
sourcefn cursor_set_last_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_last_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Move cursor to last value of current key and get value
sourcefn cursor_set_pair<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_pair<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>,
key: &K,
value: &V
) -> Result<bool, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Set cursor to key-value pair
sourcefn cursor_set_key_search_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>,
key: &K
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_key_search_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>,
key: &K
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Set cursor to key-value pair
sourcefn cursor_set_next_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_next_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Move cursor to next value of current key and get value
sourcefn cursor_set_prev_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
fn cursor_set_prev_value_get_value<K, V>(
&self,
cursor: &Cursor<K, V, KeysDuplicate>
) -> Result<Option<V::AlignedRef<'_>>, Error> where
K: ?Sized + Storable,
V: ?Sized + Storable,
Move cursor to next value of current key and get value
Auto Trait Implementations
impl<'a> !RefUnwindSafe for TxnRw<'a>
impl<'a> !Send for TxnRw<'a>
impl<'a> !Sync for TxnRw<'a>
impl<'a> Unpin for TxnRw<'a>
impl<'a> UnwindSafe for TxnRw<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more