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

Method gdpr_erase_cell

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

GDPR-erase a single cell at `(array, coord, system_from_ms)`. Writes the `CELL_GDPR_ERASURE_SENTINEL` (`0xFE`) into the memtable as a new tile version at `system_from_ms`. Any read at `system_as_of >= system_from_ms` returns `CeilingResult::Erased` for this coord. The sentinel is physically removed by compaction once the tile version falls outside the array's `audit_retain_ms` horizon. This is e

(
        &mut self,
        id: &ArrayId,
        coord: Vec<nodedb_array::types::coord::value::CoordValue>,
        system_from_ms: i64,
        wal_lsn: u64,
    )

Source from the content-addressed store, hash-verified

56 /// This is equivalent to calling `delete_cells` with `erasure: true`
57 /// on a single cell, exposed as a named method for clarity at call sites.
58 pub fn gdpr_erase_cell(
59 &mut self,
60 id: &ArrayId,
61 coord: Vec<nodedb_array::types::coord::value::CoordValue>,
62 system_from_ms: i64,
63 wal_lsn: u64,
64 ) -> ArrayEngineResult<()> {
65 use super::wal::ArrayDeleteCell;
66 self.delete_cells(
67 id,
68 vec![ArrayDeleteCell {
69 coord,
70 system_from_ms,
71 erasure: true,
72 }],
73 wal_lsn,
74 )
75 }
76
77 pub(super) fn maybe_flush(&mut self, id: &ArrayId) -> ArrayEngineResult<()> {
78 let stats = self.store(id)?.memtable.stats();

Callers 5

erase_cellFunction · 0.80
gdpr_eraseFunction · 0.80
eraseFunction · 0.80

Calls 1

delete_cellsMethod · 0.80

Tested by 5

erase_cellFunction · 0.64
gdpr_eraseFunction · 0.64
eraseFunction · 0.64