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]
