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

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PRs: #69655, #69946
   
   Backport #69655 to `branch-4.2`. FLOAT/DOUBLE min/max bounds omit NaNs, so 
they cannot independently prove that comparisons or `NOT IN` exclude a row 
group or page. An explicit, validated `nan_count=0` now clears the existing 
NaN-unknown guard for the exact owning column chunk. Missing, positive, 
invalid, or inconsistent metadata keeps the conservative fallback.
   
   The backport retains branch-4.2's statistics conversion API and direct 
predicate traversal. It adds standard optional Parquet Statistics field 9, 
matching master; existing field meanings remain consistent across branches 3.1, 
4.0, 4.1, 4.2, and master.
   
   **Applicability of #69946:** That PR fixes `PluginDrivenExternalTable`, 
which exists on master and is absent from branch-4.2. The existing 
`IcebergExternalTable.loadSnapshot()` on branch-4.2 already checks `isView()` 
and returns `EmptyMvccSnapshot` before requesting table snapshot metadata. Its 
relevant behavior is already present, so this PR contains no FE changes for 
#69946.
   
   ### Release note
   
   Improve Parquet floating-point min/max pruning when trustworthy zero NaN 
counts are available in file metadata.
   
   ### Check List (For Author)
   
   - Test:
     - [x] Focused ASAN compilation: modified production and unit-test 
translation units, plus generated Parquet Thrift code.
     - [ ] Unit-test execution: not run locally; complete BE test execution is 
deferred to CI. Backported tests cover footer/page pruning, FLOAT/DOUBLE, 
NULL/NaN preservation, invalid counts, and column/row-group proof scope.
     - [x] Manual validation: clang-format 16 on all four affected C++ files, 
cross-branch Thrift field compatibility, complete diff review, 
sensitive-content scan, and `git diff --check`.
   - Behavior changed:
     - [x] Yes. Proven NaN-free floating chunks and pages can be skipped by 
existing comparison and `NOT IN` predicates.
   - Does this need documentation?
     - [x] No. Internal reader optimization using existing file metadata.
   


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