Expand description
Trie-native merging primitives for sorted, consolidated UpdatesTyped.
The columnar Chunk impl drives these: merge_pair
merges one input fully and a prefix of the other, suffix_chunk materializes the
survivor’s leftover, extract partitions by frontier, and split_at cuts a chunk.
survey maps the interleaving of the two inputs at each trie layer, and
write_from_surveys (via write_layer and write_diffs) copies the ranges the
surveys identify into the output trie.
Structs§
- Report
Container - Derived columnar container for an enum.
Enums§
- Report
- A report we would expect to see in a sequence about two layers.
- Report
Reference - Reference for an enum.
Functions§
- extract
- Partition
mergedinto chunks ready to ship (times strictly less thanupper) and chunks kept for future seals (times at-or-afterupper), updatingfrontierto the antichain of kept times.mergedis consumed lazily, and outputs flow throughship/keptsinks so the caller can spill or forward as chunks are produced rather than buffering them. - merge_
pair - Merge two batches, one completely and the other through the corresponding
prefix, returning the merged output and leaving each input’s unconsumed
suffix in
batch1/batch2(via an updated(key, val, time)cursor) orNoneif it was fully consumed. - split_
at - Split
chunkinto twoUpdatesTypedparts at record indexn: the firstnrecords and the remainingchunk.len() - n. Bitmap pattern mirrorsextract’s split between ship/kept halves. - suffix_
chunk - Reconstruct
batch[cursor..]as a fresh standaloneUpdatesTyped, wherecursoris a(key, val, time)index triple intobatch’s flat columns. - survey
- From two sequences of interleaved lists, map out the interleaving of their values.
- write_
diffs - Write the diff layer from a time survey and two diff inputs.
- write_
layer - Write one layer of merged output from a list survey and item survey.