Commits


Jorge C. Leitao authored and Andy Grove committed ca6e838f8ed
ARROW-10685: [Rust] [DataFusion] Added support for Join on filter-pushdown optimizer. This PR extends the filter pushdown optimizer to support nodes of multiple children. In the context of the `join`, this allows to push filters down the joins. E.g. ``` "\ Filter: #a LtEq Int64(1)\ \n Join: a = a\ \n TableScan: test projection=None\ \n TableScan: test projection=None" ``` is optimized to ``` "\ Join: a = a\ \n Filter: #a LtEq Int64(1)\ \n TableScan: test projection=None\ \n Filter: #a LtEq Int64(1)\ \n TableScan: test projection=None" ``` This also reduces the complexity of the optimizer by making it perform a single pass on the plan. Naturally, this has a major implication in performance as the `join` is an expensive operation. Closes #8738 from jorgecarleitao/filter_push Authored-by: Jorge C. Leitao <jorgecarleitao@gmail.com> Signed-off-by: Andy Grove <andygrove73@gmail.com>