# Trait ethcore::db::Writable [−] [src]

    pub trait Writable {
        fn write<T, R>(&mut self, col: Option<u32>, key: &Key<T, Target=R>, value: &T) where T: Encodable, R: Deref<Target=[u8]>;
        fn delete<T, R>(&mut self, col: Option<u32>, key: &Key<T, Target=R>) where T: Encodable, R: Deref<Target=[u8]>;

        fn write_with_cache<K, T, R>(&mut self,
                                 col: Option<u32>,
                                 cache: &mut Cache<K, T>,
                                 key: K,
                                 value: T,
                                 policy: CacheUpdatePolicy) where K: Key<T, Target=R> + Hash + Eq, T: Encodable, R: Deref<Target=[u8]> { ... }
        fn extend_with_cache<K, T, R>(&mut self,
                                  col: Option<u32>,
                                  cache: &mut Cache<K, T>,
                                  values: HashMap<K, T>,
                                  policy: CacheUpdatePolicy) where K: Key<T, Target=R> + Hash + Eq, T: Encodable, R: Deref<Target=[u8]> { ... }
        fn extend_with_option_cache<K, T, R>(&mut self,
                                         col: Option<u32>,
                                         cache: &mut Cache<K, Option<T>>,
                                         values: HashMap<K, Option<T>>,
                                         policy: CacheUpdatePolicy) where K: Key<T, Target=R> + Hash + Eq, T: Encodable, R: Deref<Target=[u8]> { ... }
    }

Should be used to write value into database.

## Required Methods

### `fn write<T, R>(&mut self, col: Option<u32>, key: &Key<T, Target=R>, value: &T) where T: Encodable, R: Deref<Target=[u8]>`

Writes the value into the database.

### `fn delete<T, R>(&mut self, col: Option<u32>, key: &Key<T, Target=R>) where T: Encodable, R: Deref<Target=[u8]>`

Deletes key from the databse.

## Provided Methods

### `fn write_with_cache<K, T, R>(&mut self,
col: Option<u32>,
cache: &mut Cache<K, T>,
key: K,
value: T,
policy: CacheUpdatePolicy) where K: Key<T, Target=R> + Hash + Eq, T: Encodable, R: Deref<Target=[u8]>`

Writes the value into the database and updates the cache.

### `fn extend_with_cache<K, T, R>(&mut self,
col: Option<u32>,
cache: &mut Cache<K, T>,
values: HashMap<K, T>,
policy: CacheUpdatePolicy) where K: Key<T, Target=R> + Hash + Eq, T: Encodable, R: Deref<Target=[u8]>`

Writes the values into the database and updates the cache.

### `fn extend_with_option_cache<K, T, R>(&mut self,
col: Option<u32>,
cache: &mut Cache<K, Option<T>>,
values: HashMap<K, Option<T>>,
policy: CacheUpdatePolicy) where K: Key<T, Target=R> + Hash + Eq, T: Encodable, R: Deref<Target=[u8]>`

Writes and removes the values into the database and updates the cache.

## Implementors

- `impl Writable for DBTransaction`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)