You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
compute: Re-encode temporal-bucketing output as the columnar edge
Temporal bucketing (`maybe_apply_temporal_bucketing`) is `Vec`-internal:
it consumes and produces a `StreamVec`. The four sites that drive it
previously decoded the edge with `into_vec` and then re-wrapped the `Vec`
result as `CollectionEdge::Vec`, leaving the last `Vec` producer that fed
a Union's `concat_many`.
Re-encode each bucketed result with `vec_to_columnar` so the output edge
is columnar, matching every other producer after the producer wave. The
bucketer stays on `Vec` internally; only its output boundary changes.
This is a non-consolidating leaf encode, since the bucketer output is not
consolidated and the prior `CollectionEdge::Vec` wrap was non-consolidating.
With every producer now columnar, a consolidating Union that mixes a
bucketed input with a `Direct` input feeds `concat_many` two columnar
edges instead of a mixed pair.
Adds runtime coverage to `temporal_bucketing.slt` under
`enable_compute_temporal_bucketing`: bucketed Reduce, bucketed TopK, and
an `EXCEPT ALL` whose Union carries `[TemporalBucketing, Direct]`.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments