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,
)
| 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 |