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>areRef<'a, K>/Ref<'a, V>— noOwnedround-trip on the read side.Time/Diffmaterialize as owned oninto_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.