adding iter_start to integermulti and multi stores

without.crypto
Niko 2 years ago
parent f1223115fc
commit 94e3b8e30b
  1. 9
      src/store/integermulti.rs
  2. 15
      src/store/multi.rs

@ -75,6 +75,15 @@ where
self.inner.get_first(reader, Key::new(&k)?)
}
pub fn iter_start<'r, R, I, C>(&self, reader: &'r R) -> Result<Iter<'r, I>, StoreError>
where
R: Readable<'r, Database = D, RoCursor = C>,
I: BackendIter<'r>,
C: BackendRoCursor<'r, Iter = I>,
{
self.inner.iter_start(reader)
}
pub fn put<T>(&self, writer: &mut Writer<T>, k: K, v: &Value) -> EmptyResult
where
T: BackendRwTransaction<Database = D>,

@ -94,6 +94,21 @@ where
reader.get(&self.db, &k)
}
pub fn iter_start<'r, R, I, C>(&self, reader: &'r R) -> Result<Iter<'r, I>, StoreError>
where
R: Readable<'r, Database = D, RoCursor = C>,
I: BackendIter<'r>,
C: BackendRoCursor<'r, Iter = I>,
{
let cursor = reader.open_ro_cursor(&self.db)?;
let iter = cursor.into_iter();
Ok(Iter {
iter,
phantom: PhantomData,
})
}
/// Insert a value at the specified key.
/// This put will allow duplicate entries. If you wish to have duplicate entries
/// rejected, use the `put_with_flags` function and specify NO_DUP_DATA

Loading…
Cancel
Save