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
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
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,
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,
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>
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)
fn abort(self)
Aborts transaction
fn 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.
fn 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.
fn 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.
fn 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", so this trait is not object safe.