Trait reth_db_api::transaction::DbTx

source ·
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: Table>(
        &self,
        key: T::Key,
    ) -> Result<Option<T::Value>, DatabaseError>;
    fn commit(self) -> Result<bool, DatabaseError>;
    fn abort(self);
    fn cursor_read<T: Table>(&self) -> Result<Self::Cursor<T>, DatabaseError>;
    fn cursor_dup_read<T: DupSort>(
        &self,
    ) -> Result<Self::DupCursor<T>, DatabaseError>;
    fn entries<T: Table>(&self) -> Result<usize, DatabaseError>;
    fn disable_long_read_transaction_safety(&mut self);
}
Expand description

Read only transaction

Required Associated Types§

source

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

Cursor type for this read-only transaction

source

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

DupCursor type for this read-only transaction

Required Methods§

source

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

Get value

source

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

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

source

fn abort(self)

Aborts transaction

source

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

Iterate over read only values in table.

source

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

Iterate over read only values in dup sorted table.

source

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

Returns number of entries in the table.

source

fn disable_long_read_transaction_safety(&mut self)

Disables long-lived read transaction safety guarantees.

Object Safety§

This trait is not object safe.

Implementors§