ASF GitHub Bot commented on ORC-306:

Github user asfgit closed the pull request at:


> Fix incorrect workaround for bug in java.sql.Timestamp
> ------------------------------------------------------
>                 Key: ORC-306
>                 URL: https://issues.apache.org/jira/browse/ORC-306
>             Project: ORC
>          Issue Type: Test
>            Reporter: Owen O'Malley
>            Assignee: Owen O'Malley
>            Priority: Major
> There is a bug in java.sql.Timestamp where if the timestamp is of the form 
> "YYYY-MM-DD HH:MM:SS.000XXX" and year is before 1970, the resulting time is 
> off by one second. Unfortunately, the ORC reader was unintentionally 
> triggering this case for all timestamps before 1970 and thus included 
> compensating code to correct the problem.
> Unfortunately, the workaround means that the user get incorrect results if 
> they don't use Timestamp to interpret the results.*1900-05-05 12:34:56.1* is 
> stored in TimestampColumnVector as -2198201103900 millis and 100000000 nanos. 
> The ORC reader incorrectly restores that as -2198201103000 and 100000000 
> (notice the missing 900 millis), then adjusts the millis to -2198201102000. 
> Since the last three digits of the millis are 0 that triggers the Timestamp 
> bug and becomes the matching *1900-05-05 12:34:56.1*. 
> So basically, ORC added a bug to compensate for Java's bug.

This message was sent by Atlassian JIRA

Reply via email to