reth_db::transaction

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 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);
}
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

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.

Object Safety§

This trait is not object safe.

Implementors§

§

impl DbTx for TxMock

source§

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

Available on crate feature mdbx only.
source§

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

source§

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