Skip to main content

Module builder_input

Module builder_input 

Source
Expand description

BuilderInput impls for ColumnBody and Column so DD Builders can drain a batcher’s chunks without an extra container conversion.

Mirrors the impl on ColumnationStack at columnation.rs, but the Item<'a> here is a columnar Ref tuple rather than a borrowed owned tuple, so:

  • Key<'a> / Val<'a> are Ref<'a, K> / Ref<'a, V> — no Owned round-trip on the read side.
  • Time / Diff materialize as owned on into_parts (the trait contract requires owned for these).

Distinct-counts (key_val_upd_counts) tally per chunk and sum, accepting at most chain.len() over-counts at chunk boundaries. The downstream consumer uses these as capacity hints, so a small over-estimate is cheaper than the alternative (snapshotting K::Owned / V::Owned across chunk boundaries).

The body impl serves the chunk batchers, whose chains are bodies. The column impl serves the column pager’s batcher, whose chains are still edge containers.

Macros§

impl_builder_input 🔒

Functions§

key_val_upd_counts 🔒
Distinct key, distinct (key, val), and update counts over a chain of views, deduplicated within each view and summed.