Skip to content

Lg 20002 perf slow plan#20537

Draft
lgingerich wants to merge 6 commits intoapache:mainfrom
lgingerich:lg-20002-perf-slow-plan
Draft

Lg 20002 perf slow plan#20537
lgingerich wants to merge 6 commits intoapache:mainfrom
lgingerich:lg-20002-perf-slow-plan

Conversation

@lgingerich
Copy link
Contributor

Which issue does this PR close?

  • Closes #.

Rationale for this change

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

lgingerich and others added 2 commits February 24, 2026 20:13
Add rule-level timing traces for analyzer/optimizer passes and detailed type_coercion phase breakdowns to improve profiling and triage of planning bottlenecks.

Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid recomputing projection schemas when expression coercion makes no changes, and add safety checks plus tests to ensure schema equivalence remains intact.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions bot added optimizer Optimizer rules core Core DataFusion crate labels Feb 25, 2026
Drop benchmark and rule timing instrumentation from analyzer/optimizer and keep only the projection skip-recompute optimization path in type coercion.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions bot removed the core Core DataFusion crate label Feb 25, 2026
lgingerich and others added 3 commits February 24, 2026 21:00
Inline the projection skip condition with the map_data chain to keep the coercion flow concise while preserving the existing fast-path behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
Clarify the projection schema recompute fast path by relying on the transformed flag and add invariant assertions that no-op rewrites preserve schema Arc identity while rewritten projections force schema replacement.

Co-authored-by: Cursor <cursoragent@cursor.com>
Only skip projection schema recomputation when rewritten expressions are unchanged and the existing projection schema still matches names and types derived from the current input. Add a regression test for unchanged projection expressions with changed input types.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

optimizer Optimizer rules

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant