MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / scan_memtable_rows

Method scan_memtable_rows

nodedb-columnar/src/mutation/engine.rs:158–170  ·  view source on GitHub ↗

Iterate non-deleted rows in the memtable as `Vec `. Skips rows marked as deleted in the memtable's virtual segment delete bitmap. For rows in flushed segments, use `SegmentReader`.

(&self)

Source from the content-addressed store, hash-verified

156 /// Skips rows marked as deleted in the memtable's virtual segment
157 /// delete bitmap. For rows in flushed segments, use `SegmentReader`.
158 pub fn scan_memtable_rows(&self) -> impl Iterator<Item = Vec<Value>> + '_ {
159 let deletes = self.delete_bitmaps.get(&self.memtable_segment_id);
160 self.memtable
161 .iter_rows()
162 .enumerate()
163 .filter_map(move |(row_idx, row)| {
164 if deletes.is_some_and(|bm| bm.is_deleted(row_idx as u32)) {
165 None
166 } else {
167 Some(row)
168 }
169 })
170 }
171
172 /// Iterate non-deleted rows paired with their surrogate identity.
173 ///

Callers 4

scan_columnarMethod · 0.80
plain_columnar_purgeMethod · 0.80

Calls 3

iter_rowsMethod · 0.80
getMethod · 0.45
is_deletedMethod · 0.45

Tested by

no test coverage detected