Commit a84e5f8
Consolidate
* refactor `TreeNode::rewrite()`
* use handle_tree_recursion in `Expr`
* use macro for transform recursions
* fix api
* minor fixes
* fix
* don't trust `t.transformed` coming from transformation closures, keep the old way of detecting if changes were made
* rephrase todo comment, always propagate up `t.transformed` from the transformation closure, fix projection pushdown closure
* Fix `TreeNodeRecursion` docs
* extend Skip (Prune) functionality to Jump as it is defined in https://synnada.notion.site/synnada/TreeNode-Design-Proposal-bceac27d18504a2085145550e267c4c1
* fix Jump and add tests
* jump test fixes
* fix clippy
* unify "transform" traversals using macros, fix "visit" traversal jumps, add visit jump tests, ensure consistent naming `f` instead of `op`, `f_down` instead of `pre_visit` and `f_up` instead of `post_visit`
* fix macro rewrite
* minor fixes
* minor fix
* refactor tests
* add transform tests
* add apply, transform_down and transform_up tests
* refactor tests
* test jump on both a and e nodes in both top-down and bottom-up traversals
* better transform/rewrite tests
* minor fix
* simplify tests
* add stop tests, reorganize tests
* fix previous merges and remove leftover file
* Review TreeNode Refactor (#1)
* Minor changes
* Jump doesn't ignore f_up
* update test
* Update rewriter
* LogicalPlan visit update and propagate from children flags
* Update tree_node.rs
* Update map_children's
---------
Co-authored-by: Mustafa Akur <[email protected]>
* fix
* minor fixes
* fix f_up call when f_down returns jump
* simplify code
* minor fix
* revert unnecessary changes
* fix `DynTreeNode` and `ConcreteTreeNode` `transformed` and `tnr` propagation
* introduce TransformedResult helper
* fix docs
* restore transform as alias to trassform_up
* restore transform as alias to trassform_up 2
* Simplifications and comment improvements (#2)
---------
Co-authored-by: Berkay Şahin <[email protected]>
Co-authored-by: Mustafa Akur <[email protected]>
Co-authored-by: Mehmet Ozan Kabak <[email protected]>TreeNode transform and rewrite APIs (#8891)1 parent 684b4fa commit a84e5f8
File tree
63 files changed
+3074
-1579
lines changed- datafusion-examples/examples
- datafusion
- common/src
- core
- src
- datasource
- listing
- physical_plan/parquet
- execution/context
- physical_optimizer
- tests/fuzz_cases
- expr/src
- expr_rewriter
- logical_plan
- tree_node
- optimizer/src
- analyzer
- simplify_expressions
- physical-expr/src
- equivalence
- expressions
- utils
- physical-plan/src
- joins
- sqllogictest/test_files
- sql/src
- docs/source/library-user-guide
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
63 files changed
+3074
-1579
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
| 98 | + | |
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
103 | | - | |
| 103 | + | |
104 | 104 | | |
105 | 105 | | |
| 106 | + | |
106 | 107 | | |
107 | 108 | | |
108 | 109 | | |
| |||
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
114 | | - | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
118 | | - | |
| 119 | + | |
119 | 120 | | |
120 | 121 | | |
| 122 | + | |
121 | 123 | | |
122 | 124 | | |
123 | 125 | | |
| |||
175 | 177 | | |
176 | 178 | | |
177 | 179 | | |
178 | | - | |
| 180 | + | |
179 | 181 | | |
180 | | - | |
| 182 | + | |
181 | 183 | | |
182 | 184 | | |
183 | | - | |
| 185 | + | |
184 | 186 | | |
185 | 187 | | |
| 188 | + | |
186 | 189 | | |
187 | 190 | | |
188 | 191 | | |
| |||
0 commit comments