This is an automated email from the ASF dual-hosted git repository. sankarh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push: new 94a20f8 HIVE-25577: unix_timestamp() is ignoring the time zone value (Ashish Sharma, reviewed by Sankar Hariappan) 94a20f8 is described below commit 94a20f82c2bed872cfe4eaf49a187424d3601b49 Author: Ashish Kumar Sharma <ashishkumarsharm...@gmail.com> AuthorDate: Tue Oct 5 10:39:18 2021 +0530 HIVE-25577: unix_timestamp() is ignoring the time zone value (Ashish Sharma, reviewed by Sankar Hariappan) Signed-off-by: Sankar Hariappan <sank...@apache.org> Closes (#2686) --- .../ql/udf/generic/GenericUDFToUnixTimeStamp.java | 18 +- .../udf/generic/TestGenericUDFToUnixTimestamp.java | 10 +- ql/src/test/queries/clientpositive/udf5.q | 27 +++ ql/src/test/results/clientpositive/llap/udf5.q.out | 220 ++++++++++++++++++++- .../llap/vector_unix_timestamp.q.out | 4 +- .../test/results/clientpositive/manyViewJoin.q.out | 2 +- 6 files changed, 263 insertions(+), 18 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToUnixTimeStamp.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToUnixTimeStamp.java index bc390ad..5075ee1 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToUnixTimeStamp.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToUnixTimeStamp.java @@ -20,11 +20,10 @@ package org.apache.hadoop.hive.ql.udf.generic; import java.time.DateTimeException; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.ZoneId; +import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatterBuilder; -import java.util.Locale; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.hive.common.type.Timestamp; @@ -172,13 +171,13 @@ public class GenericUDFToUnixTimeStamp extends GenericUDF { } try { - LocalDateTime localDateTime = LocalDateTime.parse(textVal, formatter); - timestamp = new Timestamp(localDateTime); - } catch (DateTimeException e) { + ZonedDateTime zonedDateTime = ZonedDateTime.parse(textVal, formatter.withZone(timeZone)).withZoneSameInstant(timeZone); + timestamp = new Timestamp(zonedDateTime.toLocalDateTime()); + } catch (DateTimeException e1) { try { LocalDate localDate = LocalDate.parse(textVal, formatter); timestamp = new Timestamp(localDate.atStartOfDay()); - } catch (DateTimeException ex) { + } catch (DateTimeException e3) { return null; } } @@ -211,12 +210,7 @@ public class GenericUDFToUnixTimeStamp extends GenericUDF { @Override public String getDisplayString(String[] children) { - StringBuilder sb = new StringBuilder(32); - sb.append(getName()); - sb.append('('); - sb.append(StringUtils.join(children, ',')); - sb.append(')'); - return sb.toString(); + return getStandardDisplayString(getName(),children); } public DateTimeFormatter getFormatter(String pattern){ diff --git a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java index b8a145a..6f427ac 100644 --- a/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java +++ b/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFToUnixTimestamp.java @@ -167,7 +167,15 @@ public class TestGenericUDFToUnixTimestamp { runAndVerify(udf2, new Text("1400-02-01 00:00:00 ICT"), new Text("yyyy-MM-dd HH:mm:ss z"), - new LongWritable(TimestampTZUtil.parse("1400-02-01 00:00:00", ZoneId.systemDefault()).getEpochSecond())); + new LongWritable(TimestampTZUtil.parse("1400-01-31 09:00:22", ZoneId.systemDefault()).getEpochSecond())); + runAndVerify(udf2, + new Text("1400-02-01 00:00:00 UTC"), + new Text("yyyy-MM-dd HH:mm:ss z"), + new LongWritable(TimestampTZUtil.parse("1400-01-31 16:07:02", ZoneId.systemDefault()).getEpochSecond())); + runAndVerify(udf2, + new Text("1400-02-01 00:00:00 GMT"), + new Text("yyyy-MM-dd HH:mm:ss z"), + new LongWritable(TimestampTZUtil.parse("1400-01-31 16:07:02", ZoneId.systemDefault()).getEpochSecond())); // test invalid values runAndVerify(udf2, null, null, null); diff --git a/ql/src/test/queries/clientpositive/udf5.q b/ql/src/test/queries/clientpositive/udf5.q index 52923d7..d5b83a8 100644 --- a/ql/src/test/queries/clientpositive/udf5.q +++ b/ql/src/test/queries/clientpositive/udf5.q @@ -66,3 +66,30 @@ set hive.local.time.zone=US/Hawaii; select from_unixtime(unix_timestamp('1400-11-08 01:53:11')); select from_unixtime(unix_timestamp('1800-11-08 01:53:11')); select from_unixtime(to_unix_timestamp('0000-00-00')); + +set hive.local.time.zone=Asia/Bangkok; + +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); +SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')); \ No newline at end of file diff --git a/ql/src/test/results/clientpositive/llap/udf5.q.out b/ql/src/test/results/clientpositive/llap/udf5.q.out index 238ea77..d6ecb2f 100644 --- a/ql/src/test/results/clientpositive/llap/udf5.q.out +++ b/ql/src/test/results/clientpositive/llap/udf5.q.out @@ -260,7 +260,7 @@ POSTHOOK: query: select from_unixtime(unix_timestamp('1400-11-08 08:00:00 ICT', POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table #### A masked pattern was here #### -1400-11-08 08:00:00 +1400-11-08 07:35:24 PREHOOK: query: select from_unixtime(unix_timestamp('1800-11-08 08:00:00 ICT', 'yyyy-MM-dd HH:mm:ss z')) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -269,7 +269,7 @@ POSTHOOK: query: select from_unixtime(unix_timestamp('1800-11-08 08:00:00 ICT', POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table #### A masked pattern was here #### -1800-11-08 08:00:00 +1800-11-08 07:35:24 PREHOOK: query: select from_unixtime(unix_timestamp('0000-00-00', 'uuuu-MM-dd')) PREHOOK: type: QUERY PREHOOK: Input: _dummy_database@_dummy_table @@ -342,3 +342,219 @@ POSTHOOK: type: QUERY POSTHOOK: Input: _dummy_database@_dummy_table #### A masked pattern was here #### NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +2021-01-02 10:04:05 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1400-01-01 06:42:04 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1800-01-01 06:42:04 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1900-01-01 06:42:04 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +2000-01-07 07:00:00 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 UTC','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +9999-12-31 07:00:00 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +2021-01-02 03:04:05 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1399-12-31 23:35:24 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1799-12-31 23:35:24 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1899-12-31 23:35:24 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +2000-01-07 00:00:00 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 ICT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +9999-12-31 00:00:00 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2021-01-02 03:04:05 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +2021-01-02 10:04:05 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1400-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1400-01-01 06:42:04 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1800-01-01 06:42:04 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1900-01-01 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +1900-01-01 06:42:04 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('2000-01-07 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +2000-01-07 07:00:00 +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('0000-00-00 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-99-99 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +NULL +PREHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('9999-12-31 00:00:00 GMT','yyyy-MM-dd HH:mm:ss z')) +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +9999-12-31 07:00:00 diff --git a/ql/src/test/results/clientpositive/llap/vector_unix_timestamp.q.out b/ql/src/test/results/clientpositive/llap/vector_unix_timestamp.q.out index 406d46a..80b854f 100644 --- a/ql/src/test/results/clientpositive/llap/vector_unix_timestamp.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_unix_timestamp.q.out @@ -27,7 +27,7 @@ from t POSTHOOK: type: QUERY POSTHOOK: Input: default@t #### A masked pattern was here #### ->1400-11-16 22:18:40 UTC< -17959772902 1400-11-16 22:18:40 1400-11-16 +>1400-11-16 22:18:40 UTC< -17959801280 1400-11-16 14:25:42 1400-11-16 PREHOOK: query: select '>' || d || '<' , unix_timestamp(d,"yyyy-MM-dd HH:mm:ss z"), from_unixtime(unix_timestamp(d,"yyyy-MM-dd HH:mm:ss z")), to_date(from_unixtime(unix_timestamp(d,"yyyy-MM-dd HH:mm:ss z"))) from t @@ -40,7 +40,7 @@ from t POSTHOOK: type: QUERY POSTHOOK: Input: default@t #### A masked pattern was here #### ->1400-11-16 22:18:40 UTC< -17959772902 1400-11-16 22:18:40 1400-11-16 +>1400-11-16 22:18:40 UTC< -17959801280 1400-11-16 14:25:42 1400-11-16 PREHOOK: query: select '>' || d || '<' , assert_true(unix_timestamp(d,"yyyy-MM-dd HH:mm:ss z") is not null) from t diff --git a/ql/src/test/results/clientpositive/manyViewJoin.q.out b/ql/src/test/results/clientpositive/manyViewJoin.q.out index 0046e25..6d3f0f0 100644 --- a/ql/src/test/results/clientpositive/manyViewJoin.q.out +++ b/ql/src/test/results/clientpositive/manyViewJoin.q.out @@ -24983,7 +24983,7 @@ STAGE PLANS: predicate: (ds_ts is not null and test_hive_23 is not null and test_hive_26 is not null and test_hive_27 is not null and test_hive_28 is not null and test_hive_30 is not null and test_hive_71 is not null and test_hive_72 is not null and test_hive_73 is not null and UDFToDouble(test_hive_74) is not null and test_hive_75 is not null and test_hive_76 is not null and UDFToDouble(test_hive_77) is not null and test_hive_78 is not null and test_hive_80 is not null and test_hive_81 [...] Statistics: Num rows: 1 Data size: 16200 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToInteger(test_hive_1018) (type: int), UDFToInteger(test_hive_1004) (type: int), UDFToInteger(test_hive_1025) (type: int), test_hive_23 (type: string), test_hive_27 (type: string), test_hive_29 (type: string), test_hive_30 (type: string), test_hive_97 (type: string), test_hive_96 (type: string), test_hive_98 (type: string), test_hive_101 (type: string), test_hive_102 (type: string), test_hive_109 (type: string), test_hive_111 (type: string), test_hive_112 [...] + expressions: UDFToInteger(test_hive_1018) (type: int), UDFToInteger(test_hive_1004) (type: int), UDFToInteger(test_hive_1025) (type: int), test_hive_23 (type: string), test_hive_27 (type: string), test_hive_29 (type: string), test_hive_30 (type: string), test_hive_97 (type: string), test_hive_96 (type: string), test_hive_98 (type: string), test_hive_101 (type: string), test_hive_102 (type: string), test_hive_109 (type: string), test_hive_111 (type: string), test_hive_112 [...] outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35, _col36, _col37, _col38, _col39, _col40, _col41, _col42, _col43, _col44, _col45, _col46, _col47, _col48, _col49, _col50, _col51, _col52, _col53, _col54, _col55, _col56, _col57, _co [...] Statistics: Num rows: 1 Data size: 16200 Basic stats: COMPLETE Column stats: NONE Map Join Operator