Uh oh!
There was an error while loading. Please reload this page.
Enable physical filter pushdown for hash joins - #16954
Conversation
alamb
commented
Jul 28, 2025
🤖 |
alamb
commented
Jul 28, 2025
I will try and review this PR tomorrow |
adriangb
commented
Jul 28, 2025
FWIW my expectation is that this won't make much of a difference unless there is a chain like TopK -> HashJoin -> Scan and filter pushdown into the scan is enabled |
alamb
commented
Jul 28, 2025
🤖: Benchmark completed Details |
| parent_filters: Vec<Arc<dyn PhysicalExpr>>, | ||
| _config: &ConfigOptions, | ||
| ) -> Result<FilterDescription> { | ||
| if self.join_type != JoinType::Inner { |
There was a problem hiding this comment.
I recommend we file a ticket and then add a reference to that ticket in the code a ticket reference so someone in the future who stumbles on this code can locate the relevant context
e767f04 to
4876099CompareUh oh!
There was an error while loading. Please reload this page.
xudong963
left a comment
There was a problem hiding this comment.
Sorry for late, looking forward to using it in DF50
(cherry picked from commit b10f453)
* Enable physical filter pushdown for hash joins (apache#16954) (cherry picked from commit b10f453) * Add ExecutionPlan::reset_state (apache#17028) * Add ExecutionPlan::reset_state Co-authored-by: Robert Ream <robert@stably.io> * Update datafusion/sqllogictest/test_files/cte.slt * Add reference * fmt * add to upgrade guide * add explain plan, implement in more plans * fmt * only explain --------- Co-authored-by: Robert Ream <robert@stably.io> * Add dynamic filter (bounds) pushdown to HashJoinExec (apache#16445) (cherry picked from commit ff77b70) * Push dynamic pushdown through CooperativeExec and ProjectionExec (apache#17238) (cherry picked from commit 4bc0696) * Fix dynamic filter pushdown in HashJoinExec (apache#17201) (cherry picked from commit 1d4d74b) * Fix HashJoinExec sideways information passing for partitioned queries (apache#17197) (cherry picked from commit 64bc58d) * disallow pushdown of volatile functions (apache#16861) * dissallow pushdown of volatile PhysicalExprs * fix * add FilteredVec helper to handle filter / remap pattern (#34) * checkpoint: Address PR feedback in https://github.com/apach... * add FilteredVec to consolidate handling of filter / remap pattern * lint * Add slt test for pushing volatile predicates down (#35) --------- Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org> (cherry picked from commit 94e8548) * fix bounds accumulator reset in HashJoinExec dynamic filter pushdown (apache#17371) --------- Co-authored-by: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com> Co-authored-by: Robert Ream <robert@stably.io> Co-authored-by: Jack Kleeman <jackkleeman@gmail.com> Co-authored-by: Andrew Lamb <andrew@nerdnetworks.org>
Replaces a piece of #16445 to break up into smaller PRs