Skip to content

Stop copying LogicalPlan and Exprs in EliminateCrossJoin #10287

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
alamb opened this issue Apr 29, 2024 · 3 comments · Fixed by #10431
Closed

Stop copying LogicalPlan and Exprs in EliminateCrossJoin #10287

alamb opened this issue Apr 29, 2024 · 3 comments · Fixed by #10431
Assignees

Comments

@alamb
Copy link
Contributor

alamb commented Apr 29, 2024

Is your feature request related to a problem or challenge?

Part of #9637

As part of making the planner faster, we are updating the optimizer passes to avoid copying LogicalPlan and Expr (see #9637)

Describe the solution you'd like

I would like to reduce the amount of copying in this pass (even though it doesn't appear in current profiling)

Describe alternatives you've considered

Apply the model from @Lordworms in #10166 to this pass
2. Update OptimizerRule::supports_rewrite` to return true

  1. Update OptimizerRule to use rewrite
  2. Update the pass itself to not copy the LogicalPlan (ideally using the TreeNode API) - it is implemented for LogicalPlan (API) and Expr (API)

Other examples: #10218

Additional context

@alamb
Copy link
Contributor Author

alamb commented Apr 29, 2024

I believe @Lordworms is working on this -- #9637 (comment)

@alamb
Copy link
Contributor Author

alamb commented May 8, 2024

I am going to give this one a try

@alamb
Copy link
Contributor Author

alamb commented May 9, 2024

It is done over a few PRs but I have this change now working and I think it is looking quite good: #10431

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant