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]

Reply via email to