Commit 6f5df11
compute: columnar Constant output (P2)
Build the `Constant` arm of `render_plan_expr` into a `Column` and return a
`CollectionEdge::Columnar`, flipping the constant literal source to emit the
columnar edge. The err collection stays row-based (out of scope).
The rows go through a `ConsolidatingColumnBuilder` via `to_stream_with_builder`
rather than a direct columnar build. The planner (`FoldConstants`) consolidates
constant rows by `(row, time)` at optimization time, but this arm then advances
every time to `as_of`, which can collapse distinct original times onto one
time and so reintroduce duplicates at the same `(row, time)`. Consolidating here
folds those within the batch, matching the standing producer rule. The constant
rows are already owned, so the give is a move into staging, not a new
allocation. The `as_of` advancement and `until` filtering are unchanged.
Test: extends degenerate.slt with a constant carrying duplicate rows (asserting
multiplicity survives the columnar edge) and a constant feeding an indexed view
and an aggregate, exercising the columnar producer against ArrangeBy and Reduce
consumers.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent c420261 commit 6f5df11
2 files changed
Lines changed: 61 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| 149 | + | |
149 | 150 | | |
150 | 151 | | |
151 | 152 | | |
| |||
169 | 170 | | |
170 | 171 | | |
171 | 172 | | |
| 173 | + | |
172 | 174 | | |
173 | 175 | | |
174 | 176 | | |
| |||
1177 | 1179 | | |
1178 | 1180 | | |
1179 | 1181 | | |
1180 | | - | |
1181 | | - | |
1182 | | - | |
1183 | | - | |
1184 | | - | |
1185 | | - | |
1186 | | - | |
1187 | | - | |
1188 | | - | |
1189 | | - | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
1193 | | - | |
1194 | | - | |
1195 | | - | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
1196 | 1207 | | |
1197 | 1208 | | |
1198 | 1209 | | |
| |||
1208 | 1219 | | |
1209 | 1220 | | |
1210 | 1221 | | |
1211 | | - | |
| 1222 | + | |
1212 | 1223 | | |
1213 | 1224 | | |
1214 | 1225 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
0 commit comments