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

Method delete_cells

nodedb/src/engine/array/write.rs:34–46  ·  view source on GitHub ↗

Stamps memtable tombstones (or GDPR erasure markers) with a caller-supplied LSN. Each cell in `cells` independently selects the sentinel byte via its `erasure` flag.

(
        &mut self,
        id: &ArrayId,
        cells: Vec<super::wal::ArrayDeleteCell>,
        wal_lsn: u64,
    )

Source from the content-addressed store, hash-verified

32 /// caller-supplied LSN. Each cell in `cells` independently selects
33 /// the sentinel byte via its `erasure` flag.
34 pub fn delete_cells(
35 &mut self,
36 id: &ArrayId,
37 cells: Vec<super::wal::ArrayDeleteCell>,
38 wal_lsn: u64,
39 ) -> ArrayEngineResult<()> {
40 if cells.is_empty() {
41 return Ok(());
42 }
43 stamp_delete_cells(self.store_mut(id)?, cells, wal_lsn)?;
44 self.maybe_flush(id)?;
45 Ok(())
46 }
47
48 /// GDPR-erase a single cell at `(array, coord, system_from_ms)`.
49 ///

Callers 7

replay_array_walMethod · 0.80
handle_array_deleteMethod · 0.80
gdpr_erase_cellMethod · 0.80
tombstone_cellFunction · 0.80
delete_cellFunction · 0.80
delete_cellFunction · 0.80

Calls 4

stamp_delete_cellsFunction · 0.85
store_mutMethod · 0.80
maybe_flushMethod · 0.80
is_emptyMethod · 0.45

Tested by 4

tombstone_cellFunction · 0.64
delete_cellFunction · 0.64
delete_cellFunction · 0.64