[
https://issues.apache.org/jira/browse/ORC-346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16448617#comment-16448617
]
ASF GitHub Bot commented on ORC-346:
------------------------------------
Github user rip-nsk commented on the issue:
https://github.com/apache/orc/pull/253
I'm not sure that it is correct fix, IMO, TimestampColumnReader should not
do this:
if (secsBuffer[i] < 0 && nanoBuffer[i] != 0) {
secsBuffer[i] -= 1;
}
but it seems necessary to match the java reader.
> Bug in TimestampColumnReader (or Writer)
> ----------------------------------------
>
> Key: ORC-346
> URL: https://issues.apache.org/jira/browse/ORC-346
> Project: ORC
> Issue Type: Bug
> Components: C++
> Reporter: rip.nsk
> Priority: Blocker
>
> void TimestampColumnReader::next(ColumnVectorBatch& rowBatch, uint64_t
> numValues, char *notNull)
> has the following code:
> c++\src\ColumnReader.cc:338
> int64_t writerTime = secsBuffer[i] + epochOffset;
> secsBuffer[i] = writerTimezone.convertToUTC(writerTime);
> {color:#f79232}if (secsBuffer[i] < 0 && nanoBuffer[i] != 0) {{color}
> {color:#f79232} secsBuffer[i] -= 1;{color}
> {color:#f79232} }{color}
> {color:#333333}which likely leads to read wrong seconds value for PRE_1970
> dates{color}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)