Trait sp_database::Database [−][src]
pub trait Database<H: Clone>: Send + Sync { fn get(&self, col: ColumnId, key: &[u8]) -> Option<Vec<u8>>; fn lookup(&self, hash: &H) -> Option<Vec<u8>>; fn commit(&self, transaction: Transaction<H>) -> Result<()> { ... } fn commit_ref<'a>(
&self,
transaction: &mut dyn Iterator<Item = ChangeRef<'a, H>>
) -> Result<()> { ... } fn contains(&self, col: ColumnId, key: &[u8]) -> bool { ... } fn with_get(&self, col: ColumnId, key: &[u8], f: &mut dyn FnMut(&[u8])) { ... } fn set(&self, col: ColumnId, key: &[u8], value: &[u8]) -> Result<()> { ... } fn remove(&self, col: ColumnId, key: &[u8]) -> Result<()> { ... } fn with_lookup(&self, hash: &H, f: &mut dyn FnMut(&[u8])) { ... } fn store(&self, hash: &H, preimage: &[u8]) -> Result<()> { ... } fn release(&self, hash: &H) -> Result<()> { ... } }
Required methods
fn get(&self, col: ColumnId, key: &[u8]) -> Option<Vec<u8>>[src]
Retrieve the value previously stored against key or None if
key is not currently in the database.
fn lookup(&self, hash: &H) -> Option<Vec<u8>>[src]
Retrieve the first preimage previously stored for hash or None if no preimage is
currently stored.
Provided methods
fn commit(&self, transaction: Transaction<H>) -> Result<()>[src]
Commit the transaction to the database atomically. Any further calls to get or lookup
will reflect the new state.
fn commit_ref<'a>(
&self,
transaction: &mut dyn Iterator<Item = ChangeRef<'a, H>>
) -> Result<()>[src]
&self,
transaction: &mut dyn Iterator<Item = ChangeRef<'a, H>>
) -> Result<()>
Commit the transaction to the database atomically. Any further calls to get or lookup
will reflect the new state.
fn contains(&self, col: ColumnId, key: &[u8]) -> bool[src]
Check if the value exists in the database without retrieving it.
fn with_get(&self, col: ColumnId, key: &[u8], f: &mut dyn FnMut(&[u8]))[src]
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 set(&self, col: ColumnId, key: &[u8], value: &[u8]) -> Result<()>[src]
Set the value of key in col to value, replacing anything that is there currently.
fn remove(&self, col: ColumnId, key: &[u8]) -> Result<()>[src]
Remove the value of key in col.
fn with_lookup(&self, hash: &H, f: &mut dyn FnMut(&[u8]))[src]
Call f with the preimage stored for hash and return the result, or None if no preimage
is currently stored.
This may be faster than lookup since it doesn’t allocate.
Use with_lookup helper function if you need f to return a value from f
fn store(&self, hash: &H, preimage: &[u8]) -> Result<()>[src]
Store the preimage of hash into the database, so that it may be looked up later with
Database::lookup. This may be called multiple times, but Database::lookup but subsequent
calls will ignore preimage and simply increase the number of references on hash.
fn release(&self, hash: &H) -> Result<()>[src]
Release the preimage of hash from the database. An equal number of these to the number of
corresponding stores must have been given before it is legal for Database::lookup to
be unable to provide the preimage.