Trait reth_db_api::database::Database
source · pub trait Database: Send + Sync {
type TX: DbTx + Send + Sync + Debug + 'static;
type TXMut: DbTxMut + DbTx + TableImporter + Send + Sync + Debug + 'static;
// Required methods
fn tx(&self) -> Result<Self::TX, DatabaseError>;
fn tx_mut(&self) -> Result<Self::TXMut, DatabaseError>;
// Provided methods
fn view<T, F>(&self, f: F) -> Result<T, DatabaseError>
where F: FnOnce(&Self::TX) -> T { ... }
fn update<T, F>(&self, f: F) -> Result<T, DatabaseError>
where F: FnOnce(&Self::TXMut) -> T { ... }
}
Expand description
Main Database trait that can open read-only and read-write transactions.
Sealed trait which cannot be implemented by 3rd parties, exposed only for consumption.
Required Associated Types§
Required Methods§
sourcefn tx(&self) -> Result<Self::TX, DatabaseError>
fn tx(&self) -> Result<Self::TX, DatabaseError>
Create read only transaction.
sourcefn tx_mut(&self) -> Result<Self::TXMut, DatabaseError>
fn tx_mut(&self) -> Result<Self::TXMut, DatabaseError>
Create read write transaction only possible if database is open with write access.
Provided Methods§
sourcefn view<T, F>(&self, f: F) -> Result<T, DatabaseError>
fn view<T, F>(&self, f: F) -> Result<T, DatabaseError>
Takes a function and passes a read-only transaction into it, making sure it’s closed in the end of the execution.
Object Safety§
This trait is not object safe.