[ https://issues.apache.org/jira/browse/HIVE-4884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gopal V updated HIVE-4884: -------------------------- Release Note: Adjust milliseconds down when encountering a negative second value with a fractional second stored as nanoseconds. Status: Patch Available (was: In Progress) > ORC TimestampTreeReader.nextVector() off by a second when time in fractional > ---------------------------------------------------------------------------- > > Key: HIVE-4884 > URL: https://issues.apache.org/jira/browse/HIVE-4884 > Project: Hive > Issue Type: Sub-task > Components: File Formats > Affects Versions: vectorization-branch > Reporter: Gopal V > Assignee: Gopal V > Fix For: vectorization-branch > > Attachments: HIVE-4884-0000.patch > > > When using negative timestamps, the ORC vectorized Timestampreader does the > following > {code} > result.vector[i] = (result.vector[i] * 1000000) + nanoVector.vector[i]; > {code} > This suffers from inaccuracies because the nanoseconds are always positive > and the result.vector[i] is in effect > {code} > seconds = (getTime() / 1000) > nanos = (getNanos()) > // so -42001 ms is written as > // seconds = -42 > // nanos = 999000000 > // (-42001 / 1000) * 1000 == -42000 > // + 999 ms (from nanos) > // which is -42999 ms > {code} > This needs to be adjusted down if nanos has been zero adjusted, to result in > -42001 as the vector[i] value. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira