Phoenix500526 opened a new pull request, #27256:
URL: https://github.com/apache/datafusion/pull/27256

   ## Which issue does this PR close?
   
   Closes #27216.
   
   ## Rationale for this change
   
   `NOT IN` queries over two unbounded inputs can return incorrect rows because 
converting a null-aware hash join to `SymmetricHashJoinExec` drops its NULL 
semantics. Projected `IN` subqueries can require the same semantics.
   
   ## What changes are included in this PR?
   
   Return a planning error when a `HashJoinExec` is null-aware and both inputs 
are unbounded, before attempting the symmetric hash join conversion. The error 
explains that `SymmetricHashJoinExec` does not support null-aware semantics.
   
   ## What is the testing strategy for this PR?
   
   SQLLogicTests in `subquery.slt` cover four unbounded cases: a `NOT IN` 
filter, `NOT IN` inside `OR`, `NOT IN` with NULLs excluded from the subquery, 
and projected `IN`.
   
   The four related SQLLogicTest files, formatting checks, and clippy pass 
after rebasing onto current upstream `main`. The full workspace extended test 
suite, including all 546 SQLLogicTest files, passed before the rebase. Removing 
the original guard was also verified to make the three issue reproductions fail 
their expected-error assertions.
   
   ## Are there any user-facing changes?
   
   Affected streaming queries now return a specific planning error instead of 
potentially incorrect results. Bounded queries retain their existing behavior.
   


-- 
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