Nathan Chandrasekar created ORC-2225:
----------------------------------------

             Summary: [C++] FLOAT statistics use values before binary32 
narrowing
                 Key: ORC-2225
                 URL: https://issues.apache.org/jira/browse/ORC-2225
             Project: ORC
          Issue Type: Bug
          Components: C++
            Reporter: Nathan Chandrasekar


The default C++ writer stores FLOAT statistics from the double input before 
narrowing it to binary32. A one-row file containing {{0.1}} returns no rows for 
an equality search argument whose literal exactly equals the stored FLOAT value.

In {{FloatingColumnWriter::add}}, DATA uses 
{{static_cast<float>(doubleData[i])}}, while statistics use the original 
double. Statistics should use the value serialized as FLOAT.

Reproducer and observed output: https://github.com/apache/orc/issues/2719

— [ChipLab|https://chiplab.donmakino.com/findings#clab-2026-863]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to