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

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #67774
   
   Problem Summary:
   
   Backport #67774 to `branch-4.2`. Comparisons such as `a != b` and `a < b` 
can use both columns' zone-map ranges to discard native segments and Parquet V2 
row groups that cannot match. The existing slot-vs-literal path shares the same 
six interval rules; dictionary and Bloom-filter gates remain unchanged.
   
   The backport preserves branch-4.2's `BloomFilterProbe` interfaces instead of 
importing the unrelated master metadata-probe/array-contains refactor. It also 
retains the original NULL, NaN, string-bound, unsupported-type and legacy 
Parquet safeguards, plus the unit and regression coverage.
   
   **Branch-specific adaptation:** master already reads hidden version columns 
through a constant reader with substituted zone maps. Branch-4.2 still 
substitutes `__DORIS_VERSION_COL__` after reading a single-version rowset, so 
this backport excludes that column's on-disk placeholder from both segment- and 
page-level expression zone-map pruning. The original enabled/disabled 
hidden-version regression is retained.
   
   ### Release note
   
   Support column-to-column comparisons in expression zone-map pruning for 
native segments and Parquet V2 row groups.
   
   ### Check List (For Author)
   
   - Test:
     - [ ] Regression test (not executed locally)
     - [ ] Unit Test (local configuration blocked)
     - [x] Manual test: static backport review, formatting and golden-label 
consistency checks only; no runtime execution claimed.
     - Passed: `build-support/clang-format.sh` and 
`build-support/check-format.sh` with clang-format 16.0.6; `git diff --check`.
     - Carried the original unit/regression tests. All 43 `qt_` labels match 
the golden file, whose bytes are unchanged from the runner-generated source PR 
output.
     - Attempted `BUILD_TYPE=ASAN ./build.sh --be -j48`. The cached third-party 
package lacks Paimon-Rust headers/archive; stopped the automatic full 
dependency rebuild.
     - Attempted `BUILD_TYPE=ASAN ./run-be-ut.sh -j48 --run 
--filter='ExprZonemapFilterTest.*'`. Configuration stopped because the checkout 
lacks the `contrib/openblas` and `contrib/faiss` CMake sources. No local 
unit-test or regression runtime pass is claimed; CI validation is required.
   - Behavior changed:
     - [x] Yes. Additional predicates can prune; unsupported metadata stays 
conservative, and hidden-version placeholders are excluded on this branch.
   - Does this need documentation:
     - [x] No. Backport of an existing feature.
   
   No FE/BE protocol, storage-format, configuration, transaction or data-write 
changes.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases and CI results
   - [ ] Confirm document
   - [ ] Add branch pick label
   


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