Trait DbTx

pub trait DbTx: Send + Sync {
    type Cursor<T: Table>: DbCursorRO<T> + Send + Sync;
    type DupCursor<T: DupSort>: DbDupCursorRO<T> + DbCursorRO<T> + Send + Sync;

    // Required methods
    fn get<T>(
        &self,
        key: <T as Table>::Key,
    ) -> Result<Option<<T as Table>::Value>, DatabaseError>
       where T: Table;
    fn get_by_encoded_key<T>(
        &self,
        key: &<<T as Table>::Key as Encode>::Encoded,
    ) -> Result<Option<<T as Table>::Value>, DatabaseError>
       where T: Table;
    fn commit(self) -> Result<bool, DatabaseError>;
    fn abort(self);
    fn cursor_read<T>(&self) -> Result<Self::Cursor<T>, DatabaseError>
       where T: Table;
    fn cursor_dup_read<T>(&self) -> Result<Self::DupCursor<T>, DatabaseError>
       where T: DupSort;
    fn entries<T>(&self) -> Result<usize, DatabaseError>
       where T: Table;
    fn disable_long_read_transaction_safety(&mut self);
}
Available on crate feature provider only.
Expand description

Read only transaction

Required Associated Types§

type Cursor<T: Table>: DbCursorRO<T> + Send + Sync

Cursor type for this read-only transaction

type DupCursor<T: DupSort>: DbDupCursorRO<T> + DbCursorRO<T> + Send + Sync

DupCursor type for this read-only transaction

Required Methods§

fn get<T>( &self, key: <T as Table>::Key, ) -> Result<Option<<T as Table>::Value>, DatabaseError>
where T: Table,

Get value by an owned key

fn get_by_encoded_key<T>( &self, key: &<<T as Table>::Key as Encode>::Encoded, ) -> Result<Option<<T as Table>::Value>, DatabaseError>
where T: Table,

Get value by a reference to the encoded key, especially useful for “raw” keys that encode to themselves like Address and B256. Doesn’t need to clone a reference key like get.

fn commit(self) -> Result<bool, DatabaseError>

Commit for read only transaction will consume and free transaction and allows freeing of memory pages

fn abort(self)

Aborts transaction

fn cursor_read<T>(&self) -> Result<Self::Cursor<T>, DatabaseError>
where T: Table,

Iterate over read only values in table.

fn cursor_dup_read<T>(&self) -> Result<Self::DupCursor<T>, DatabaseError>
where T: DupSort,

Iterate over read only values in dup sorted table.

fn entries<T>(&self) -> Result<usize, DatabaseError>
where T: Table,

Returns number of entries in the table.

fn disable_long_read_transaction_safety(&mut self)

Disables long-lived read transaction safety guarantees.

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§

§

impl DbTx for TxMock

§

impl<K> DbTx for Tx<K>
where K: TransactionKind,

§

type Cursor<T: Table> = Cursor<K, T>

§

type DupCursor<T: DupSort> = Cursor<K, T>