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);
}
Expand description
Read only transaction
Required Associated Types§
Sourcetype 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§
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<bool, DatabaseError>
fn commit(self) -> Result<bool, 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", so this trait is not object safe.