pub struct FreezeSlice {
pub row_range: Range<usize>,
pub rows: Vec<(u64, Vec<u8>, IndexKey)>,
}Expand description
v6.7.4 — read-only output of Catalog::prepare_freeze_slice.
Carries every row body + key in a contiguous hot-row range,
already encoded and sorted by PK so the coordinator’s merge
step is a k-way merge over already-sorted streams.
Vec<FreezeSlice> from N independent workers feeds
Catalog::commit_freeze_slices, which concats + encodes the
merged segment + atomically swaps the catalog state.
Fields§
§row_range: Range<usize>Hot-row index range this slice covered (half-open, in the
table’s rows: PersistentVec ordering at call time). The
commit step uses this to compute the union range that
gets passed to Table::delete_rows.
rows: Vec<(u64, Vec<u8>, IndexKey)>(pk_u64, encoded_row_body, IndexKey) triples, sorted
ascending by pk_u64. Per-slice sort happens inside
prepare_freeze_slice; the coordinator does only a
k-way merge to reach the global PK ordering
encode_segment requires.
Trait Implementations§
Source§impl Clone for FreezeSlice
impl Clone for FreezeSlice
Source§fn clone(&self) -> FreezeSlice
fn clone(&self) -> FreezeSlice
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more