Trait sp_database::Database [−][src]
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 store
d 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 store
s must have been given before it is legal for Database::lookup
to
be unable to provide the preimage.
Trait Implementations
Implementors
impl<H> Database<H> for MemDb<H> where
H: Clone + Send + Sync + Eq + PartialEq + Default + Hash,
[src]
H: Clone + Send + Sync + Eq + PartialEq + Default + Hash,