galaxytemple opened a new pull request, #27222: URL: https://github.com/apache/datafusion/pull/27222
## Which issue does this PR close? - Closes #27215 ## Rationale for this change When an outer = filter is pushed down into a NullEqualsNull join, it should not be extracted into on, because physical operators like HashJoinExec support only a single null-equality. ## What changes are included in this PR? - Update `ExtractEquijoinPredicate` to only extract predicates matching the join's existing `null_equality` 1. `NullEqualsNull`: only extract `Operator::IsNotDistinctFrom`. Pushed-down `=` filters remain in `join.filter` 2. `NullEqualsNothing`: extract `Operator::Eq` ## What is the testing strategy for this PR? - Sqllogictest query extracted from issue #27215 - Unit tests verifying rule rewrite behavior for the issue query, plus multiple `IS NOT DISTINCT FROM` predicates to ensure existing behavior is not broken. ## Are there any user-facing changes? No API changes. Bug fix only: queries pushing down `=` into `IS NOT DISTINCT FROM` joins will no longer incorrectly match NULLs. -- 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]
