pub trait DbTx: Debug + Send {
type Cursor<T: Table>: DbCursorRO<T> + Send;
type DupCursor<T: DupSort>: DbDupCursorRO<T> + DbCursorRO<T> + Send;
// 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<(), 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§
Sourcetype Cursor<T: Table>: DbCursorRO<T> + Send
type Cursor<T: Table>: DbCursorRO<T> + Send
Cursor type for this read-only transaction
Sourcetype DupCursor<T: DupSort>: DbDupCursorRO<T> + DbCursorRO<T> + Send
type DupCursor<T: DupSort>: DbDupCursorRO<T> + DbCursorRO<T> + Send
DupCursor type for this read-only transaction
Required Methods§
Sourcefn get<T>(
&self,
key: <T as Table>::Key,
) -> Result<Option<<T as Table>::Value>, DatabaseError>where
T: Table,
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
Sourcefn 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 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.
Sourcefn commit(self) -> Result<(), DatabaseError>
fn commit(self) -> Result<(), DatabaseError>
Commit for read only transaction will consume and free transaction and allows freeing of memory pages
Sourcefn cursor_read<T>(&self) -> Result<Self::Cursor<T>, DatabaseError>where
T: Table,
fn cursor_read<T>(&self) -> Result<Self::Cursor<T>, DatabaseError>where
T: Table,
Iterate over read only values in table.
Sourcefn cursor_dup_read<T>(&self) -> Result<Self::DupCursor<T>, DatabaseError>where
T: DupSort,
fn cursor_dup_read<T>(&self) -> Result<Self::DupCursor<T>, DatabaseError>where
T: DupSort,
Iterate over read only values in dup sorted table.
Sourcefn entries<T>(&self) -> Result<usize, DatabaseError>where
T: Table,
fn entries<T>(&self) -> Result<usize, DatabaseError>where
T: Table,
Returns number of entries in the table.
Sourcefn disable_long_read_transaction_safety(&mut self)
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".