Trait CursorRwApi

Source
pub trait CursorRwApi: CursorApi {
    // Required method
    fn delete(&mut self) -> Result<()>;
}
Expand description

RW Bucket API

Required Methods§

Source

fn delete(&mut self) -> Result<()>

Removes the current key/value under the cursor from the bucket.

use bbolt_rs::*;

fn main() -> Result<()> {
  let mut db = Bolt::open_mem()?;

  db.update(|mut tx| {
    let mut b = tx.create_bucket_if_not_exists("test")?;
    b.put("key1", "value1")?;
    b.put("key2", "value2")?;
    b.put("key3", "value3")?;
    Ok(())
  })?;

  db.update(|mut tx| {
    let mut b = tx.bucket_mut("test").unwrap();
    let mut c = b.cursor_mut();
    c.seek("key2");
    c.delete()?;
    Ok(())
  })?;

  db.view(|tx| {
    let b = tx.bucket("test").unwrap();
    let mut c = b.cursor();
    let seek = c.seek("key2");
    assert_eq!(Some((b"key3".as_slice(), Some(b"value3".as_slice()))), seek);
    Ok(())
  })?;

  Ok(())
}

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'tx: 'a, 'a> CursorRwApi for CursorRwImpl<'tx, 'a>