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)