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

Method erase_cell

nodedb/src/engine/array/memtable/tile_buffer.rs:251–264  ·  view source on GitHub ↗

Append a GDPR erasure version for `(coord, system_from_ms)`. Writes the `0xFE` sentinel rather than the `0xFF` tombstone. The ceiling resolver returns `CeilingResult::Erased` for this coord at any `system_as_of >= system_from_ms`.

(
        &mut self,
        schema: &ArraySchema,
        coord: Vec<CoordValue>,
        system_from_ms: i64,
        lsn: u64,
    )

Source from the content-addressed store, hash-verified

249 /// resolver returns `CeilingResult::Erased` for this coord at any
250 /// `system_as_of >= system_from_ms`.
251 pub fn erase_cell(
252 &mut self,
253 schema: &ArraySchema,
254 coord: Vec<CoordValue>,
255 system_from_ms: i64,
256 lsn: u64,
257 ) -> ArrayResult<TileId> {
258 let tile = tile_id_for_cell(schema, &coord, system_from_ms)?;
259 self.tiles
260 .entry(tile)
261 .or_default()
262 .push_erasure(&coord, lsn)?;
263 Ok(tile)
264 }
265
266 pub fn stats(&self) -> MemtableStats {
267 let mut s = MemtableStats::default();

Calls 3

tile_id_for_cellFunction · 0.85
push_erasureMethod · 0.80
entryMethod · 0.80