-
Notifications
You must be signed in to change notification settings - Fork 145
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[CHORE] Use treenode for tree traversal in logical optimizer rules (#…
…2797) Follow-up from #2791 after offline conversation. This PR still uses the existing logical plan optimizer, but now uses `common_treenode::Transformed` instead of a custom implementation. In addition, it removes the apply order logic from the optimizer and replaces it with `common_treenode::TreeNode` transforms done in the optimizer rules themselves. This PR should not cause any functional changes to any of the optimizer rules or the way they are applied, except for the fact that rules in a batch are now each applied to the whole tree before the next rule, instead of each being applied to a single plan node if they have the same apply order. Future PRs will separate the rules out and make better use of treenode.
- Loading branch information
1 parent
6fe408c
commit 91d9fe9
Showing
12 changed files
with
260 additions
and
421 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,4 +5,3 @@ mod rules; | |
mod test; | ||
|
||
pub use optimizer::{Optimizer, OptimizerConfig}; | ||
pub use rules::Transformed; |
Oops, something went wrong.