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
{{ message }}
Repository navigation
Commit d96e032
Browse filesBrowse the repository at this point in the historyBrowse files
feat(core+sql): thread aggregate output names so Project-over-Aggregate resolves
Closes the output_names gap (PR #5 item 5). DataFusion names aggregate outputs
in its plan schema (e.g. "sum(metrics.bytes)") and the enclosing Projection
references them by those names; the L3 Aggregate named its outputs synthetically
("sum"), so the Project's column refs didn't resolve and fell back to Utf8.
- query_expr: Aggregate gains output_names: Vec<String> (parallel to aggs); a
non-empty entry overrides the synthetic AggIntent::output_column name. Schema
derivation (+ output_schema_for_aggregate helper) honors it.
- lower: convert threads AggItem.alias → output_names in all three Aggregate
constructions (fused / multi-agg / topk).
- sql: lower_aggregate sets each AggItem.alias to DataFusion's aggregate output
field name (schema.fields() past the group cols) — the names the Projection
uses.
- promql: aggregate alias is now empty (was "value") → keeps intent-keyed output
names ("sum", "quantile_0_99", …); PromQL output naming unchanged.
- cse: carry output_names through the shared-producer rewrite.
Test: SELECT SUM(bytes), AVG(latency) → the root Projection's output schema now
resolves to Int64 / Float64 (was the Utf8 fallback). 110 tests green, clippy
-D warnings clean, fmt clean.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments