Alexander Pivovarov created HIVE-10178:
------------------------------------------

             Summary: 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


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