You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Rui Li <ru...@intel.com> on 2017/04/27 02:32:09 UTC

Re: Review Request 50787: Add a timezone-aware timestamp

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/
-----------------------------------------------------------

(Updated April 27, 2017, 2:32 a.m.)


Review request for hive.


Bugs: HIVE-14412
    https://issues.apache.org/jira/browse/HIVE-14412


Repository: hive-git


Description
-------

The 1st patch to add timezone-aware timestamp.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
  common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
  contrib/src/test/queries/clientnegative/serde_regex.q a676338 
  contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
  contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
  contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
  hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
  hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
  itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
  itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
  itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
  itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
  itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
  itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
  itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
  itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
  jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
  jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
  ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 8dc5f2e 
  ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
  ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 247d589 
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 0721b92 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g d98a663 
  ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 8598fae 
  ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 8f8eab0 
  ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
  ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
  ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
  ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
  ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
  ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
  ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
  ql/src/test/queries/clientpositive/create_like.q bd39731 
  ql/src/test/queries/clientpositive/join43.q 12c45a6 
  ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
  ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
  ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
  ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
  ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
  ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
  ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
  ql/src/test/results/clientpositive/create_like.q.out ff2e752 
  ql/src/test/results/clientpositive/join43.q.out e8c7278 
  ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
  ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
  serde/if/serde.thrift 1d40d5a 
  serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
  serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
  serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
  serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
  serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
  serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
  serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
  serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
  serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
  serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
  serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
  service-rpc/if/TCLIService.thrift 824b049 
  service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
  service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
  service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
  service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
  service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
  service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
  service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
  service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
  service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
  service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
  service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
  service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
  service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 


Diff: https://reviews.apache.org/r/50787/diff/6/

Changes: https://reviews.apache.org/r/50787/diff/5-6/


Testing
-------


Thanks,

Rui Li


Re: Review Request 50787: Add a timezone-aware timestamp

Posted by pengcheng xiong <px...@hortonworks.com>.

> On May 3, 2017, 9:57 p.m., pengcheng xiong wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
> > Lines 132 (patched)
> > <https://reviews.apache.org/r/50787/diff/7/?file=1706787#file1706787line132>
> >
> >     I think Identifier["timestamptz"] and Identifier["zone"] may be sufficient. It is not necessary to make them as key words and then add them back as identifiers. You can have a try and see if it works. Thanks..
> 
> Rui Li wrote:
>     Hi Pengcheng, sorry I'm quite ignorant about antlr. Could you please be more specific how to add the Identifiers? Let me explain what I intend to do. The new data type is named "timestamp with time zone", and "timestamptz" is added as a type alias. I thought it's required to add key words for type names. And according to the PostgreSQL doc we referenced (https://www.postgresql.org/docs/9.5/static/sql-keywords-appendix.html), "zone" is a non-reserved SQL key word and "timestamptz" is not a key word. So I added them in IdentifierParser.g as nonReserved.

I have a second thought and I think you are right about this in your current patch. Thanks.


- pengcheng


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/#review173833
-----------------------------------------------------------


On May 8, 2017, 3:17 p.m., Rui Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50787/
> -----------------------------------------------------------
> 
> (Updated May 8, 2017, 3:17 p.m.)
> 
> 
> Review request for hive, pengcheng xiong and Xuefu Zhang.
> 
> 
> Bugs: HIVE-14412
>     https://issues.apache.org/jira/browse/HIVE-14412
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> The 1st patch to add timezone-aware timestamp.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
>   common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
>   contrib/src/test/queries/clientnegative/serde_regex.q a676338 
>   contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
>   contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
>   contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
>   hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
>   hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
>   jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
>   jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 1b556ac 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 01a652d 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 190b66b 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g ca639d3 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 645ced9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java c3227c9 
>   ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
>   ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
>   ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
>   ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
>   ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
>   ql/src/test/queries/clientpositive/create_like.q bd39731 
>   ql/src/test/queries/clientpositive/join43.q 12c45a6 
>   ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
>   ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
>   ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
>   ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
>   ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
>   ql/src/test/results/clientpositive/create_like.q.out ff2e752 
>   ql/src/test/results/clientpositive/join43.q.out e8c7278 
>   ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
>   ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
>   serde/if/serde.thrift 1d40d5a 
>   serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
>   serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
>   serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
>   serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
>   serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
>   serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
>   serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
>   serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
>   serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
>   serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
>   serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
>   service-rpc/if/TCLIService.thrift 824b049 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
>   service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
>   service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
>   service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 
> 
> 
> Diff: https://reviews.apache.org/r/50787/diff/8/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rui Li
> 
>


Re: Review Request 50787: Add a timezone-aware timestamp

Posted by Rui Li <ru...@intel.com>.

> On May 3, 2017, 9:57 p.m., pengcheng xiong wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
> > Lines 132 (patched)
> > <https://reviews.apache.org/r/50787/diff/7/?file=1706787#file1706787line132>
> >
> >     I think Identifier["timestamptz"] and Identifier["zone"] may be sufficient. It is not necessary to make them as key words and then add them back as identifiers. You can have a try and see if it works. Thanks..

Hi Pengcheng, sorry I'm quite ignorant about antlr. Could you please be more specific how to add the Identifiers? Let me explain what I intend to do. The new data type is named "timestamp with time zone", and "timestamptz" is added as a type alias. I thought it's required to add key words for type names. And according to the PostgreSQL doc we referenced (https://www.postgresql.org/docs/9.5/static/sql-keywords-appendix.html), "zone" is a non-reserved SQL key word and "timestamptz" is not a key word. So I added them in IdentifierParser.g as nonReserved.


- Rui


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/#review173833
-----------------------------------------------------------


On May 3, 2017, 6:34 a.m., Rui Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50787/
> -----------------------------------------------------------
> 
> (Updated May 3, 2017, 6:34 a.m.)
> 
> 
> Review request for hive.
> 
> 
> Bugs: HIVE-14412
>     https://issues.apache.org/jira/browse/HIVE-14412
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> The 1st patch to add timezone-aware timestamp.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
>   common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
>   contrib/src/test/queries/clientnegative/serde_regex.q a676338 
>   contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
>   contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
>   contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
>   hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
>   hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
>   jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
>   jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 8dc5f2e 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 01a652d 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 0721b92 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g d98a663 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 8598fae 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 8f8eab0 
>   ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
>   ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
>   ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
>   ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
>   ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
>   ql/src/test/queries/clientpositive/create_like.q bd39731 
>   ql/src/test/queries/clientpositive/join43.q 12c45a6 
>   ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
>   ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
>   ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
>   ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
>   ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
>   ql/src/test/results/clientpositive/create_like.q.out ff2e752 
>   ql/src/test/results/clientpositive/join43.q.out e8c7278 
>   ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
>   ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
>   serde/if/serde.thrift 1d40d5a 
>   serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
>   serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
>   serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
>   serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
>   serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
>   serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
>   serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
>   serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
>   serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
>   serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
>   serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
>   service-rpc/if/TCLIService.thrift 824b049 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
>   service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
>   service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
>   service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 
> 
> 
> Diff: https://reviews.apache.org/r/50787/diff/7/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rui Li
> 
>


Re: Review Request 50787: Add a timezone-aware timestamp

Posted by pengcheng xiong <px...@hortonworks.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/#review173833
-----------------------------------------------------------




ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g
Lines 132 (patched)
<https://reviews.apache.org/r/50787/#comment246869>

    I think Identifier["timestamptz"] and Identifier["zone"] may be sufficient. It is not necessary to make them as key words and then add them back as identifiers. You can have a try and see if it works. Thanks..


- pengcheng xiong


On May 3, 2017, 6:34 a.m., Rui Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50787/
> -----------------------------------------------------------
> 
> (Updated May 3, 2017, 6:34 a.m.)
> 
> 
> Review request for hive.
> 
> 
> Bugs: HIVE-14412
>     https://issues.apache.org/jira/browse/HIVE-14412
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> The 1st patch to add timezone-aware timestamp.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
>   common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
>   contrib/src/test/queries/clientnegative/serde_regex.q a676338 
>   contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
>   contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
>   contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
>   hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
>   hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
>   jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
>   jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 8dc5f2e 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 01a652d 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 0721b92 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g d98a663 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 8598fae 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 8f8eab0 
>   ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
>   ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
>   ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
>   ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
>   ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
>   ql/src/test/queries/clientpositive/create_like.q bd39731 
>   ql/src/test/queries/clientpositive/join43.q 12c45a6 
>   ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
>   ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
>   ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
>   ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
>   ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
>   ql/src/test/results/clientpositive/create_like.q.out ff2e752 
>   ql/src/test/results/clientpositive/join43.q.out e8c7278 
>   ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
>   ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
>   serde/if/serde.thrift 1d40d5a 
>   serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
>   serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
>   serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
>   serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
>   serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
>   serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
>   serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
>   serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
>   serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
>   serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
>   serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
>   service-rpc/if/TCLIService.thrift 824b049 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
>   service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
>   service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
>   service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 
> 
> 
> Diff: https://reviews.apache.org/r/50787/diff/7/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rui Li
> 
>


Re: Review Request 50787: Add a timezone-aware timestamp

Posted by Rui Li <ru...@intel.com>.

> On May 7, 2017, 11:22 p.m., Xuefu Zhang wrote:
> > common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java
> > Lines 138 (patched)
> > <https://reviews.apache.org/r/50787/diff/7/?file=1706764#file1706764line138>
> >
> >     Not sure if I understand this, but why cannot we get seconds/nanos from date/timestamp and then convert to TimestapTZ? I assume this is a faster way.

Hi Xuefu, the reason why I did this:

1. As Ashutosh suggested, we will use LocalDate and LocalDateTime for Date and Timestamp in the future. When that happens, date/timestamp won't have seconds/nanos part, instead they're only descriptions of time. So the conversion should be done based on text format.
2. At the moment, the seconds/nanos of date/timestamp is computed using system timezone. So the conversion can have different results in different systems.

I noted Carter also suggested that SQL standard requires session zone should be taken into consideration in the conversion.
Consolidating your suggestions with Carter's, I think we can: make the conversion text-wise, and append the system zone (Hive currently doesn't have session zone). For example, a date of '2017-01-01' in LA will be converted to timestamptz as '2017-01-01 00:00:00 America/Los_Angeles', which in turn converted to '2017-01-01 08:00:00.0 Z'. Does this make sense?


> On May 7, 2017, 11:22 p.m., Xuefu Zhang wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java
> > Lines 204 (patched)
> > <https://reviews.apache.org/r/50787/diff/7/?file=1706785#file1706785line204>
> >
> >     What does this imply?

The method converts our primitive type to a SqlTypeName in calcite. But SqlTypeName currently doesn't have timestamp with time zone. This will have some impact when calcite does the optimization, e.g. computing average value sizes. But I think we have to live with it untile SqlTypeName supports timestamp with time zone.


> On May 7, 2017, 11:22 p.m., Xuefu Zhang wrote:
> > serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java
> > Lines 32 (patched)
> > <https://reviews.apache.org/r/50787/diff/7/?file=1706827#file1706827line32>
> >
> >     Can you also make a note about the source of the code, like TimeStampTZWritable?

sure, will do


- Rui


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/#review174136
-----------------------------------------------------------


On May 8, 2017, 6:51 a.m., Rui Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50787/
> -----------------------------------------------------------
> 
> (Updated May 8, 2017, 6:51 a.m.)
> 
> 
> Review request for hive, pengcheng xiong and Xuefu Zhang.
> 
> 
> Bugs: HIVE-14412
>     https://issues.apache.org/jira/browse/HIVE-14412
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> The 1st patch to add timezone-aware timestamp.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
>   common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
>   contrib/src/test/queries/clientnegative/serde_regex.q a676338 
>   contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
>   contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
>   contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
>   hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
>   hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
>   jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
>   jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 8dc5f2e 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 01a652d 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 0721b92 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g d98a663 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 8598fae 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 8f8eab0 
>   ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
>   ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
>   ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
>   ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
>   ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
>   ql/src/test/queries/clientpositive/create_like.q bd39731 
>   ql/src/test/queries/clientpositive/join43.q 12c45a6 
>   ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
>   ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
>   ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
>   ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
>   ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
>   ql/src/test/results/clientpositive/create_like.q.out ff2e752 
>   ql/src/test/results/clientpositive/join43.q.out e8c7278 
>   ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
>   ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
>   serde/if/serde.thrift 1d40d5a 
>   serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
>   serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
>   serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
>   serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
>   serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
>   serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
>   serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
>   serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
>   serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
>   serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
>   serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
>   service-rpc/if/TCLIService.thrift 824b049 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
>   service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
>   service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
>   service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 
> 
> 
> Diff: https://reviews.apache.org/r/50787/diff/7/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rui Li
> 
>


Re: Review Request 50787: Add a timezone-aware timestamp

Posted by Xuefu Zhang <xz...@cloudera.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/#review174136
-----------------------------------------------------------




common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java
Lines 138 (patched)
<https://reviews.apache.org/r/50787/#comment247252>

    Not sure if I understand this, but why cannot we get seconds/nanos from date/timestamp and then convert to TimestapTZ? I assume this is a faster way.



ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java
Lines 204 (patched)
<https://reviews.apache.org/r/50787/#comment247253>

    What does this imply?



serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java
Lines 32 (patched)
<https://reviews.apache.org/r/50787/#comment247254>

    Can you also make a note about the source of the code, like TimeStampTZWritable?


- Xuefu Zhang


On May 3, 2017, 6:34 a.m., Rui Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50787/
> -----------------------------------------------------------
> 
> (Updated May 3, 2017, 6:34 a.m.)
> 
> 
> Review request for hive.
> 
> 
> Bugs: HIVE-14412
>     https://issues.apache.org/jira/browse/HIVE-14412
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> The 1st patch to add timezone-aware timestamp.
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
>   common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
>   contrib/src/test/queries/clientnegative/serde_regex.q a676338 
>   contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
>   contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
>   contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
>   hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
>   hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
>   itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
>   itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
>   itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
>   itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
>   jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
>   jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 8dc5f2e 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 01a652d 
>   ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 0721b92 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g d98a663 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 8598fae 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 8f8eab0 
>   ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
>   ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
>   ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
>   ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
>   ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
>   ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
>   ql/src/test/queries/clientpositive/create_like.q bd39731 
>   ql/src/test/queries/clientpositive/join43.q 12c45a6 
>   ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
>   ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
>   ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
>   ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
>   ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
>   ql/src/test/results/clientpositive/create_like.q.out ff2e752 
>   ql/src/test/results/clientpositive/join43.q.out e8c7278 
>   ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
>   ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
>   serde/if/serde.thrift 1d40d5a 
>   serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
>   serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
>   serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
>   serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
>   serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
>   serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
>   serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
>   serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
>   serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
>   serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
>   serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
>   serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
>   service-rpc/if/TCLIService.thrift 824b049 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
>   service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
>   service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
>   service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
>   service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
>   service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
>   service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
>   service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 
> 
> 
> Diff: https://reviews.apache.org/r/50787/diff/7/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Rui Li
> 
>


Re: Review Request 50787: Add a timezone-aware timestamp

Posted by Rui Li <ru...@intel.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50787/
-----------------------------------------------------------

(Updated May 3, 2017, 6:34 a.m.)


Review request for hive.


Bugs: HIVE-14412
    https://issues.apache.org/jira/browse/HIVE-14412


Repository: hive-git


Description
-------

The 1st patch to add timezone-aware timestamp.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/common/type/TimestampTZ.java PRE-CREATION 
  common/src/test/org/apache/hadoop/hive/common/type/TestTimestampTZ.java PRE-CREATION 
  contrib/src/test/queries/clientnegative/serde_regex.q a676338 
  contrib/src/test/queries/clientpositive/serde_regex.q d75d607 
  contrib/src/test/results/clientnegative/serde_regex.q.out 58b1c02 
  contrib/src/test/results/clientpositive/serde_regex.q.out 2984293 
  hbase-handler/src/test/queries/positive/hbase_timestamp.q 0350afe 
  hbase-handler/src/test/results/positive/hbase_timestamp.q.out 3918121 
  itests/hive-blobstore/src/test/queries/clientpositive/orc_format_part.q 358eccd 
  itests/hive-blobstore/src/test/queries/clientpositive/orc_nonstd_partitions_loc.q c462538 
  itests/hive-blobstore/src/test/queries/clientpositive/rcfile_format_part.q c563d3a 
  itests/hive-blobstore/src/test/queries/clientpositive/rcfile_nonstd_partitions_loc.q d17c281 
  itests/hive-blobstore/src/test/results/clientpositive/orc_format_part.q.out 5d1319f 
  itests/hive-blobstore/src/test/results/clientpositive/orc_nonstd_partitions_loc.q.out 70e72f7 
  itests/hive-blobstore/src/test/results/clientpositive/rcfile_format_part.q.out bed10ab 
  itests/hive-blobstore/src/test/results/clientpositive/rcfile_nonstd_partitions_loc.q.out c6442f9 
  jdbc/src/java/org/apache/hive/jdbc/HiveBaseResultSet.java ade1900 
  jdbc/src/java/org/apache/hive/jdbc/JdbcColumn.java 38918f0 
  ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java 8dc5f2e 
  ql/src/java/org/apache/hadoop/hive/ql/exec/GroupByOperator.java f8b55da 
  ql/src/java/org/apache/hadoop/hive/ql/exec/SerializationUtilities.java 01a652d 
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/TypeConverter.java 38308c9 
  ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java 0cf9205 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveLexer.g 0721b92 
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveParser.g d98a663 
  ql/src/java/org/apache/hadoop/hive/ql/parse/IdentifiersParser.g 8598fae 
  ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java 8f8eab0 
  ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java bda2050 
  ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToBoolean.java 7cdf2c3 
  ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToString.java 5cacd59 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java 68d98f5 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDate.java 5a31e61 
  ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFToTimestampTZ.java PRE-CREATION 
  ql/src/test/org/apache/hadoop/hive/ql/parse/TestSQL11ReservedKeyWordsNegative.java 0dc6b19 
  ql/src/test/queries/clientnegative/serde_regex.q c9cfc7d 
  ql/src/test/queries/clientnegative/serde_regex2.q a29bb9c 
  ql/src/test/queries/clientnegative/serde_regex3.q 4e91f06 
  ql/src/test/queries/clientpositive/create_like.q bd39731 
  ql/src/test/queries/clientpositive/join43.q 12c45a6 
  ql/src/test/queries/clientpositive/serde_regex.q e21c6e1 
  ql/src/test/queries/clientpositive/timestamptz.q PRE-CREATION 
  ql/src/test/queries/clientpositive/timestamptz_1.q PRE-CREATION 
  ql/src/test/queries/clientpositive/timestamptz_2.q PRE-CREATION 
  ql/src/test/results/clientnegative/serde_regex.q.out a1ec5ca 
  ql/src/test/results/clientnegative/serde_regex2.q.out 374675d 
  ql/src/test/results/clientnegative/serde_regex3.q.out dc0a0e2 
  ql/src/test/results/clientpositive/create_like.q.out ff2e752 
  ql/src/test/results/clientpositive/join43.q.out e8c7278 
  ql/src/test/results/clientpositive/serde_regex.q.out 7bebb0c 
  ql/src/test/results/clientpositive/timestamptz.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/timestamptz_1.q.out PRE-CREATION 
  ql/src/test/results/clientpositive/timestamptz_2.q.out PRE-CREATION 
  serde/if/serde.thrift 1d40d5a 
  serde/src/gen/thrift/gen-cpp/serde_constants.h 8785bd2 
  serde/src/gen/thrift/gen-cpp/serde_constants.cpp 907acf2 
  serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java 2578d3e 
  serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php ea2dbbe 
  serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py e3b24eb 
  serde/src/gen/thrift/gen-rb/serde_constants.rb 15efaea 
  serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java 5ecfbca 
  serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java 89e15c3 
  serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampTZWritable.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java 23dbe6a 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyTimestampTZ.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java 73c72e1 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java 5601734 
  serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java 52f3527 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java 56b4ca3 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryTimestampTZ.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java 8237b64 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java 24b3d4e 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java ba44bae 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java 70633f3 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java e08ad43 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java 2ed0843 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java 9642a7e 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/TimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableTimestampTZObjectInspector.java PRE-CREATION 
  serde/src/java/org/apache/hadoop/hive/serde2/thrift/Type.java 0ad8c02 
  serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java 43c4819 
  serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampTZWritable.java PRE-CREATION 
  service-rpc/if/TCLIService.thrift 824b049 
  service-rpc/src/gen/thrift/gen-cpp/TCLIService_constants.cpp 991cb2e 
  service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.h 8accf66 
  service-rpc/src/gen/thrift/gen-cpp/TCLIService_types.cpp b6995c4 
  service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TCLIServiceConstants.java 930bed7 
  service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TProtocolVersion.java 18a7825 
  service-rpc/src/gen/thrift/gen-javabean/org/apache/hive/service/rpc/thrift/TTypeId.java a3735eb 
  service-rpc/src/gen/thrift/gen-php/Types.php ee5acd2 
  service-rpc/src/gen/thrift/gen-py/TCLIService/constants.py c8d4f8f 
  service-rpc/src/gen/thrift/gen-py/TCLIService/ttypes.py e9faa2a 
  service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_constants.rb 25adbb4 
  service-rpc/src/gen/thrift/gen-rb/t_c_l_i_service_types.rb 714309c 
  service/src/java/org/apache/hive/service/cli/ColumnValue.java 76e8c03 
  service/src/java/org/apache/hive/service/cli/TypeDescriptor.java d634bef 


Diff: https://reviews.apache.org/r/50787/diff/7/

Changes: https://reviews.apache.org/r/50787/diff/6-7/


Testing
-------


Thanks,

Rui Li