helgikrs commented on code in PR #20447:
URL: https://github.com/apache/datafusion/pull/20447#discussion_r2833732075
##########
datafusion/physical-plan/src/joins/hash_join/exec.rs:
##########
@@ -738,7 +738,7 @@ impl HashJoinExec {
}
fn allow_join_dynamic_filter_pushdown(&self, config: &ConfigOptions) ->
bool {
- if self.join_type != JoinType::Inner
+ if !matches!(self.join_type, JoinType::Inner | JoinType::Left |
JoinType::LeftSemi)
Review Comment:
I don't think so. The build side is always the left side and the probe side
is always the right side. The filters are therefore always pushed to the right
side. We need to retain all rows from the right side for a Right join, so
there's nothing we can push down.
A right join query can still take advantage of this if the the optimizer
decides to swap the sides to build the right side to the join, in that case it
would become a left join here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]