mrhhsg opened a new pull request, #70230:
URL: https://github.com/apache/doris/pull/70230

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Backport of #63767 to branch-4.2. In null-aware anti joins with additional 
join conjuncts, a null probe key could be skipped before the existing 
null-probe handler evaluated it. This could produce incorrect results for 
nullable `NOT IN` subqueries.
   
   ### Changes
   
   - Keep the probe index on a null key and reset the build-side scan state so 
the existing null-probe handler processes that row.
   - Retain the branch-4.2 compile-check include when applying the upstream 
change.
   - Extend regression coverage for nullable `NOT IN` with disjunctions and 
nullable build keys.
   
   ### Testing
   
   - `BUILD_TYPE=ASAN DISABLE_BE_JAVA_EXTENSIONS=OFF ./build.sh --be --fe -j 
24` (passed, including FE Checkstyle).
   - `./run-be-ut.sh --run 
--filter='HashJoinProbeOperatorTest.NullAwareLeftAntiJoin*' -j 64` (6 tests 
passed).
   - `./run-regression-test.sh --conf 
regression-test/conf/regression-conf.groovy --run -d correctness -s 
test_subquery_in_disjunction` (1 suite passed).
   - `build-support/clang-format.sh` and `build-support/check-format.sh` 
(passed).
   - `git diff --check` (passed).
   
   ### Release note
   
   Fix incorrect results for nullable `NOT IN` subqueries using null-aware anti 
joins.
   
   ### Check List (For Author)
   
   - Test:
     - [x] Regression test
     - [x] Unit test
   - Behavior changed:
     - [x] Yes. Preserve nullable probe rows for null-aware anti join 
evaluation.
   - Does this need documentation?
     - [x] No.


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