diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-01-11 23:16:06 +0200 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-01-11 23:40:20 +0200 |
| commit | 60c9d1037f012e76cf8f8c11d82b065b1f97269f (patch) | |
| tree | a050c7ecb46bdbdf9dfd7bdeb15b9c5f84e70b24 /log_db/src/memtable_primary.rs | |
| parent | 899927cf6e517690622cb6cab40d15f19bd229cb (diff) | |
Add range_by, refactor reading from file
Diffstat (limited to 'log_db/src/memtable_primary.rs')
| -rw-r--r-- | log_db/src/memtable_primary.rs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/log_db/src/memtable_primary.rs b/log_db/src/memtable_primary.rs index 85648d4..e2921a6 100644 --- a/log_db/src/memtable_primary.rs +++ b/log_db/src/memtable_primary.rs @@ -1,4 +1,4 @@ -use super::common::*; +use super::*; use std::collections::BTreeMap; pub struct PrimaryMemtable { @@ -30,4 +30,11 @@ impl PrimaryMemtable { pub fn remove(&mut self, key: &IndexableValue) -> Option<LogKey> { self.records.remove(key) } + + pub fn range<B: RangeBounds<IndexableValue>>(&self, range: B) -> Vec<LogKey> { + self.records + .range(range) + .map(|(_, log_key)| log_key.clone()) + .collect() + } } |
