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

Method put_cells

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

Stamps the memtable with a caller-supplied LSN. The Control Plane allocates the LSN at WAL-append time and the Data Plane just stamps; this is the only write path for the engine.

(
        &mut self,
        id: &ArrayId,
        cells: Vec<ArrayPutCell>,
        wal_lsn: u64,
    )

Source from the content-addressed store, hash-verified

15 /// allocates the LSN at WAL-append time and the Data Plane just
16 /// stamps; this is the only write path for the engine.
17 pub fn put_cells(
18 &mut self,
19 id: &ArrayId,
20 cells: Vec<ArrayPutCell>,
21 wal_lsn: u64,
22 ) -> ArrayEngineResult<()> {
23 if cells.is_empty() {
24 return Ok(());
25 }
26 stamp_put_cells(self.store_mut(id)?, cells, wal_lsn)?;
27 self.maybe_flush(id)?;
28 Ok(())
29 }
30
31 /// Stamps memtable tombstones (or GDPR erasure markers) with a
32 /// caller-supplied LSN. Each cell in `cells` independently selects

Callers 15

replay_array_walMethod · 0.80
handle_array_putMethod · 0.80
put_oneFunction · 0.80
put_versionedFunction · 0.80
put_cellFunction · 0.80
put_cellFunction · 0.80
put_cellFunction · 0.80
put_cellFunction · 0.80
put_cellFunction · 0.80

Calls 4

stamp_put_cellsFunction · 0.85
store_mutMethod · 0.80
maybe_flushMethod · 0.80
is_emptyMethod · 0.45

Tested by 13

put_oneFunction · 0.64
put_cellFunction · 0.64
put_cellFunction · 0.64
put_cellFunction · 0.64
put_cellFunction · 0.64
put_cellFunction · 0.64