airborne12 opened a new pull request, #69160:
URL: https://github.com/apache/doris/pull/69160
### What problem does this PR solve?
Related PR: #69053
Problem Summary: Backport #69053 to `branch-4.1`.
For `(A AND B) OR (C AND D)`, scores collected by a failing AND branch could
leak into rows matched by the other branch. Collect scores within each compound
branch and publish only scores whose rows are in its final true bitmap. NOT
contributes no positive score; incomplete scored index evaluation returns an
explicit error.
#### Branch adaptations
Cherry-pick the original fix a49a9b22209711b9c71fad4f2ea0239599082633.
Preserve branch-4.1 compaction paths and compile-check guards, add the missing
move-based score handoff, and adapt tests to the branch-4.1 IndexExecContext
column-ID constructor and expression interface. No master merge or
storage-directory refactor is included.
### Release note
Boolean SEARCH expressions no longer include scores from unmatched branches
or NOT predicates.
### Check List (For Author)
- Test
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test
- Behavior changed:
- [x] Yes. Boolean SEARCH expressions no longer include scores from
unmatched branches or NOT predicates.
- Does this need documentation?
- [x] No.
### Validation
- PASS: Clang 16 across the complete candidate merged with
`origin/branch-4.1` (`0993d5e5512b3d27649e6c44f38b13836e03ee97`).
- PASS: English code check for the complete PR diff.
- In progress: targeted ASAN BE unit tests on this backport.
- Queued after unit tests: ASAN BE/FE build and isolated SQL regression
replay, including `test_search_score_cache`.
This PR is a draft while target-branch execution checks are running.
--
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]