Skip to content

compute: columnar arrange input (C1)#37748

Draft
antiguru wants to merge 1 commit into
mainfrom
moritz/columnar-c1
Draft

compute: columnar arrange input (C1)#37748
antiguru wants to merge 1 commit into
mainfrom
moritz/columnar-c1

Conversation

@antiguru

Copy link
Copy Markdown
Member

Remove these sections if your commit already has a good description!

Motivation

Why does this change exist? Link to a GitHub issue, design doc, Slack
thread, or explain the problem in a sentence or two. A reviewer who has
no context should understand why after reading this section.

If this implements or addresses an existing issue, it's enough to link to that:
Closes
Fixes
etc.

Description

What does this PR actually do? Focus on the approach and any non-obvious
decisions. The diff shows the code --- use this space to explain what the
diff can't tell a reviewer.

Verification

How do you know this change is correct? Describe new or existing automated
tests, or manual steps you took.

Generalize `ensure_collections` and `arrange_collection` to accept a
`CollectionEdge` instead of a `VecCollection`, so the arrange input path
no longer decodes a columnar edge through `ColumnarToVec`.

The columnar arm forms the arrangement key by iterating the borrowed
column with `into_index_iter`, mirroring the proven `flat_map_datums`
pattern, and never materializes an owned `Row`. The Vec arm is unchanged.
The passthrough output preserves the input variant. Temporal bucketing
(node C8) still consumes and produces a `Vec` edge, so the decode moves
into that branch as a sanctioned leaf seam.

Producers still emit `Vec`, so the columnar arm is dead in production and
this change carries no runtime behavior change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant