[ 
https://issues.apache.org/jira/browse/HIVE-10178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Dere updated HIVE-10178:
------------------------------
    Attachment: HIVE-10178.03-branch-1.0.patch

Attaching patch for branch-1.0 based on patch v3, with the following changes:
- DateWritable.dateToDays() needs to be changed to use the millisToDays() 
method that is fixed in the patch.
- Some test files in the patch do not yet exist in branch-1.0 (Hive on Spark, 
TestGenericUDFLastDay)
qfile test output needs to be updated:
* vector_between_in.q.out looks different from master because branch-1.0 does 
not have HIVE-3454

> 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
>             Fix For: 1.2.0
>
>         Attachments: HIVE-10178.01.patch, HIVE-10178.02.patch, 
> HIVE-10178.03-branch-1.0.patch, HIVE-10178.03.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)

Reply via email to