compute: Emit TopK monotonic and basic output as the columnar edge - #37783
Draft
antiguru wants to merge 2 commits into
Draft
compute: Emit TopK monotonic and basic output as the columnar edge#37783antiguru wants to merge 2 commits into
antiguru wants to merge 2 commits into
Conversation
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
July 22, 2026 08:41
ddd570d to
c790948
Compare
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
July 22, 2026 16:24
c790948 to
31a84a6
Compare
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
July 22, 2026 17:51
31a84a6 to
2f27548
Compare
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
August 19, 2026 12:01
2f27548 to
1536039
Compare
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
August 19, 2026 13:17
1536039 to
15eb779
Compare
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
August 20, 2026 08:49
15eb779 to
10e7a85
Compare
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
August 20, 2026 09:13
10e7a85 to
8ee12e6
Compare
Flip the two TopK plans that build a result collection (MonotonicTopK and Basic) to produce a `CollectionEdge::Columnar` via a shared `topk_result_to_columnar` helper. The bucketed MonotonicTop1 plan emits an arrangement and is materialized by the shared `as_specific_collection` path, so it is untouched. Both sites drop the hash-key pairing from a `consolidate_named`-consolidated `(hash_key, row)` collection. The hash key is a function of the row, so the drop is injective and the output has no within-batch duplicates. A non-consolidating `ColumnBuilder` therefore matches the prior `map` semantics, and the row is pushed borrowed. The err collection stays `Vec`, and the intra-operator machinery stays on `Vec`. Also corrects a stale comment on `map_topk_key`: its columnar arm runs once the input edge is columnar, which the upstream producers now emit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment-only, no behavior change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
antiguru
force-pushed
the
columnar-p6-topk-output
branch
from
September 6, 2026 18:23
8ee12e6 to
40d648a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Monotonic and basic TopK emit their
from_collectionsoutput as the columnar edge. Bucketed TopK is already covered by the shared arrangement-materialization path (P5).Columnar dataflow-edge migration. Design doc:
doc/developer/design/20260720_columnar_dataflow_edges.md(#37744).Part of CPU-51.