kalayciburak opened a new pull request, #10337:
URL: https://github.com/apache/paimon/pull/10337

   ### Purpose
   
   ORC records FLOAT and DOUBLE min/max with primitive comparisons. A NaN never 
replaces a finite bound, and -0.0 never replaces +0.0. 
`OrcSimpleStatsExtractor` copied those bounds into file stats, so a predicate 
could skip a file that still contained a matching row.
   
   When the ORC sum is NaN, or the recorded minimum is +0.0, the bounds are 
omitted. A missing bound is not used for skipping. Other finite bounds are 
unchanged.
   
   Omitting the bound when the minimum is +0.0 also drops a correct bound for a 
column whose smallest value really is +0.0. That is safer than a wrong bound. 
Reading the column back would keep that bound, at the cost of a scan.
   
   Fixes #10334
   
   ### Tests
   
   `mvn -pl paimon-format -Pfast-build -DwildcardSuites=none 
-DfailIfNoTests=false 
-Dtest=OrcFloatingPointStatsTest,OrcSimpleStatsExtractorTest test`
   
   - Before the change, `OrcFloatingPointStatsTest` failed 4/4: max was 1.0 for 
a written NaN, min was +0.0 for a written -0.0.
   - After the change: `OrcFloatingPointStatsTest` 6/0, 
`OrcSimpleStatsExtractorTest` 5/0.


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

Reply via email to