[ https://issues.apache.org/jira/browse/HIVE-14412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16001925#comment-16001925 ]
Rui Li commented on HIVE-14412: ------------------------------- The latest failure are not related. [~cartershanklin], the Postgres example you mentioned can be achieved with v12 patch. But since Hive currently doesn't support session zone, user has to change system zone to do that. I also added a test case for it: {code} @Test public void testConvertFromTimestamp() { TimeZone defaultZone = TimeZone.getDefault(); try { // Use system zone when converting from timestamp to timestamptz String s = "2017-06-12 23:12:56.34"; TimeZone.setDefault(TimeZone.getTimeZone("Europe/London")); TimestampTZ tstz1 = TimestampTZ.convert(Timestamp.valueOf(s)); TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles")); TimestampTZ tstz2 = TimestampTZ.convert(Timestamp.valueOf(s)); Assert.assertTrue(tstz1.compareTo(tstz2) < 0); } finally { TimeZone.setDefault(defaultZone); } } {code} What I was trying to say is, by converting to a target timezone, users usually expect to see the timestamp displayed in that timezone. E.g. if users want to convert '2012-01-01 08:00:00+00' to PST8PDT, they should be expecting '2012-01-01 00:00:00-08' right? But w/o storing the zone, all timestamptz display in UTC. Session zone doesn't seem to help because the target zone isn't necessarily same as session zone. > Add a timezone-aware timestamp > ------------------------------ > > Key: HIVE-14412 > URL: https://issues.apache.org/jira/browse/HIVE-14412 > Project: Hive > Issue Type: Sub-task > Components: Hive > Reporter: Rui Li > Assignee: Rui Li > Attachments: HIVE-14412.10.patch, HIVE-14412.11.patch, > HIVE-14412.12.patch, HIVE-14412.1.patch, HIVE-14412.2.patch, > HIVE-14412.3.patch, HIVE-14412.4.patch, HIVE-14412.5.patch, > HIVE-14412.6.patch, HIVE-14412.7.patch, HIVE-14412.8.patch, HIVE-14412.9.patch > > > Java's Timestamp stores the time elapsed since the epoch. While it's by > itself unambiguous, ambiguity comes when we parse a string into timestamp, or > convert a timestamp to string, causing problems like HIVE-14305. > To solve the issue, I think we should make timestamp aware of timezone. -- This message was sent by Atlassian JIRA (v6.3.15#6346)