You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Jason Dere (JIRA)" <ji...@apache.org> on 2015/04/01 19:53:53 UTC

[jira] [Commented] (HIVE-10178) DateWritable incorrectly calculates daysSinceEpoch for negative Unix time

    [ https://issues.apache.org/jira/browse/HIVE-10178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14391078#comment-14391078 ] 

Jason Dere commented on HIVE-10178:
-----------------------------------

Yikes - thanks for catching this.
+1 if tests look good

> DateWritable incorrectly calculates daysSinceEpoch for negative Unix time
> -------------------------------------------------------------------------
>
>                 Key: HIVE-10178
>                 URL: https://issues.apache.org/jira/browse/HIVE-10178
>             Project: Hive
>          Issue Type: Bug
>          Components: Types
>            Reporter: Alexander Pivovarov
>            Assignee: Alexander Pivovarov
>         Attachments: HIVE-10178.01.patch, HIVE-10178.02.patch
>
>
> For example:
> {code}
> select cast(cast('1966-01-01 00:00:01' as timestamp) as date);
> 1966-01-02
> {code}
> Another example:
> {code}
> select last_day(cast('1966-01-31 00:00:01' as timestamp));
> OK
> 1966-02-28
> {code}
> more details:
> Date: 1966-01-01 00:00:01
> unix time UTC: -126230399
> daysSinceEpoch=−126230399000 / 86400000 = -1460.999988
> int daysSinceEpoch = -1460
> DateWritable having daysSinceEpoch=-1460 is 1966-01-02
> daysSinceEpoch should be -1461 instead  (1966-01-01)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)