hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rui Li (JIRA)" <>
Subject [jira] [Commented] (HIVE-20007) Hive should carry out timestamp computations in UTC
Date Thu, 28 Jun 2018 12:06:00 GMT


Rui Li commented on HIVE-20007:

[~ashutoshc] suggested in HIVE-14412 that we should replace {{java.sql.Timestamp}} with LocalDateTime
as in-memory representation for Timestamp type. I wonder do we still want to do that?

> Hive should carry out timestamp computations in UTC
> ---------------------------------------------------
>                 Key: HIVE-20007
>                 URL:
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Hive
>            Reporter: Ryan Blue
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Blocker
>              Labels: timestamp
>         Attachments: HIVE-20007.patch
> Hive currently uses the "local" time of a java.sql.Timestamp to represent the SQL data
type TIMESTAMP WITHOUT TIME ZONE. The purpose is to be able to use {{Timestamp#getYear()}}
and similar methods to implement SQL functions like {{year}}.
> When the SQL session's time zone is a DST zone, such as America/Los_Angeles that alternates
between PST and PDT, there are times that cannot be represented because the effective zone
skips them.
> {code}
> hive> select TIMESTAMP '2015-03-08 02:10:00.101';
> 2015-03-08 03:10:00.101
> {code}
> Using UTC instead of the SQL session time zone as the underlying zone for a java.sql.Timestamp
avoids this bug, while still returning correct values for {{getYear}} etc. Using UTC as the
convenience representation (timestamp without time zone has no real zone) would make timestamp
calculations more consistent and avoid similar problems in the future.
> Notably, this would break the {{unix_timestamp}} UDF that specifies the result is with
respect to ["the default timezone and default locale"|].
That function would need to be updated to use the {{System.getProperty("user.timezone")}}

This message was sent by Atlassian JIRA

View raw message