native_db_32bit/transaction/query/
drain.rs1use crate::db_type::{DatabaseSecondaryKeyOptions, Input, KeyDefinition, Result};
2use crate::transaction::internal::rw_transaction::InternalRwTransaction;
3
4pub struct RwDrain<'db, 'txn> {
5 pub(crate) internal: &'txn InternalRwTransaction<'db>,
6}
7
8impl<'db, 'txn> RwDrain<'db, 'txn> {
9 pub fn primary<T: Input>(&self) -> Result<Vec<T>> {
10 let model = T::native_db_model();
11 let out = self.internal.concrete_primary_drain(model)?;
12 Ok(out.into_iter().map(|b| b.inner()).collect())
13 }
14
15 pub fn secondary<T: Input>(
17 &self,
18 _key_def: impl KeyDefinition<DatabaseSecondaryKeyOptions>,
19 ) -> () {
20 todo!()
21 }
22}