Trait Transaction

Source
pub trait Transaction: SkipList {
    // Provided methods
    fn iter<'a, K, V>(
        &'a self,
        db: &'a Db<K, V>,
        key: Option<(K, Option<V>)>,
    ) -> Cursor<'a, Self, K, V>
       where K: Representable,
             V: Representable { ... }
    fn rev_iter<'a, K, V>(
        &'a self,
        db: &'a Db<K, V>,
        key: Option<(K, Option<V>)>,
    ) -> RevCursor<'a, Self, K, V>
       where K: Representable,
             V: Representable { ... }
    fn root<K, V>(&mut self, root: usize) -> Option<Db<K, V>>
       where K: Representable,
             V: Representable { ... }
    fn get<'a, K, V>(
        &'a self,
        root: &Db<K, V>,
        key: K,
        value: Option<V>,
    ) -> Option<V>
       where K: Representable,
             V: Representable { ... }
}
Expand description

Trait for operations common to mutable and immutable transactions.

Provided Methods§

Source

fn iter<'a, K, V>( &'a self, db: &'a Db<K, V>, key: Option<(K, Option<V>)>, ) -> Cursor<'a, Self, K, V>

Iterate over a database, starting at the first value larger than or equal to (key, value) (and at the smallest key, or smallest value if one or both of them is None).

Source

fn rev_iter<'a, K, V>( &'a self, db: &'a Db<K, V>, key: Option<(K, Option<V>)>, ) -> RevCursor<'a, Self, K, V>

Iterate over a database in the reverse order, starting from the last binding strictly before k (or from the last binding in the table if k.is_none()).

Source

fn root<K, V>(&mut self, root: usize) -> Option<Db<K, V>>

Gets the specified root. At most 508 different roots are allowed.

Source

fn get<'a, K, V>( &'a self, root: &Db<K, V>, key: K, value: Option<V>, ) -> Option<V>

Get the smallest value associated to key, or returns the given binding if value is Some(..) and is associated to key in the given database.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'env> Transaction for Txn<'env>

Source§

impl<'env, T> Transaction for MutTxn<'env, T>