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]
