pub trait KeyValueStore {
    // Required methods
    fn put(
        &self,
        key: &[u8],
        column: Column,
        value: Value
    ) -> DatabaseResult<Option<Value>>;
    fn write(
        &self,
        key: &[u8],
        column: Column,
        buf: &[u8]
    ) -> DatabaseResult<usize>;
    fn replace(
        &self,
        key: &[u8],
        column: Column,
        buf: &[u8]
    ) -> DatabaseResult<(usize, Option<Value>)>;
    fn take(&self, key: &[u8], column: Column) -> DatabaseResult<Option<Value>>;
    fn delete(
        &self,
        key: &[u8],
        column: Column
    ) -> DatabaseResult<Option<Value>>;
    fn exists(&self, key: &[u8], column: Column) -> DatabaseResult<bool>;
    fn size_of_value(
        &self,
        key: &[u8],
        column: Column
    ) -> DatabaseResult<Option<usize>>;
    fn get(&self, key: &[u8], column: Column) -> DatabaseResult<Option<Value>>;
    fn read(
        &self,
        key: &[u8],
        column: Column,
        buf: &mut [u8]
    ) -> DatabaseResult<Option<usize>>;
    fn read_alloc(
        &self,
        key: &[u8],
        column: Column
    ) -> DatabaseResult<Option<Value>>;
    fn iter_all(
        &self,
        column: Column,
        prefix: Option<&[u8]>,
        start: Option<&[u8]>,
        direction: IterDirection
    ) -> BoxedIter<'_, KVItem>;
}

Required Methods§

source

fn put( &self, key: &[u8], column: Column, value: Value ) -> DatabaseResult<Option<Value>>

source

fn write(&self, key: &[u8], column: Column, buf: &[u8]) -> DatabaseResult<usize>

source

fn replace( &self, key: &[u8], column: Column, buf: &[u8] ) -> DatabaseResult<(usize, Option<Value>)>

source

fn take(&self, key: &[u8], column: Column) -> DatabaseResult<Option<Value>>

source

fn delete(&self, key: &[u8], column: Column) -> DatabaseResult<Option<Value>>

source

fn exists(&self, key: &[u8], column: Column) -> DatabaseResult<bool>

source

fn size_of_value( &self, key: &[u8], column: Column ) -> DatabaseResult<Option<usize>>

source

fn get(&self, key: &[u8], column: Column) -> DatabaseResult<Option<Value>>

source

fn read( &self, key: &[u8], column: Column, buf: &mut [u8] ) -> DatabaseResult<Option<usize>>

source

fn read_alloc( &self, key: &[u8], column: Column ) -> DatabaseResult<Option<Value>>

source

fn iter_all( &self, column: Column, prefix: Option<&[u8]>, start: Option<&[u8]>, direction: IterDirection ) -> BoxedIter<'_, KVItem>

Implementors§