Trait sp_database::Database [−][src]
pub trait Database<H: Clone + AsRef<[u8]>>: Send + Sync { fn commit(&self, transaction: Transaction<H>) -> Result<()>; fn get(&self, col: ColumnId, key: &[u8]) -> Option<Vec<u8>>; fn contains(&self, col: ColumnId, key: &[u8]) -> bool { ... } fn value_size(&self, col: ColumnId, key: &[u8]) -> Option<usize> { ... } fn with_get(&self, col: ColumnId, key: &[u8], f: &mut dyn FnMut(&[u8])) { ... } fn supports_ref_counting(&self) -> bool { ... } }
Required methods
fn commit(&self, transaction: Transaction<H>) -> Result<()>
fn commit(&self, transaction: Transaction<H>) -> Result<()>
Commit the transaction
to the database atomically. Any further calls to get
or lookup
will reflect the new state.
Provided methods
Check if the value exists in the database without retrieving it.
Check value size in the database possibly without retrieving it.
Call f
with the value previously stored against key
.
This may be faster than get
since it doesn’t allocate.
Use with_get
helper function if you need f
to return a value from f
fn supports_ref_counting(&self) -> bool
fn supports_ref_counting(&self) -> bool
Check if database supports internal ref counting for state data.
For backwards compatibility returns false
by default.