[
https://issues.apache.org/jira/browse/HIVE-4044?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phabricator updated HIVE-4044:
--
Attachment: HIVE-4044.HIVE-4044.HIVE-4044.D8799.1.patch
sxyuan requested code review of HIVE-4044 [jira] Add URL type.
Reviewers: kevinwilfong
Having a separate type for URLs would enable improvements in storage efficiency
based on breaking up a URL into its components. The new type will be named
URL and made a non-reserved keyword (see HIVE-701).
The change involves adding new classes and object inspectors for representing
URLs, modifying existing serdes to read and write URLs, and adding the
supporting grammar. In addition, some UDFs were modified to handle the new type.
TEST PLAN
Added queries testing various ways of using the new type: reading/writing
URLs, comparing URLs, and applying UDFs to URLs.
REVISION DETAIL
https://reviews.facebook.net/D8799
AFFECTED FILES
metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SkewedInfo.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrincipalPrivilegeSet.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SerDeInfo.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/StorageDescriptor.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Database.java
metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java
data/files/url.txt
data/files/primitive_type_arrays.txt
serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyURL.java
serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyFactory.java
serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java
serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyURLObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryFactory.java
serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinarySerDe.java
serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryURL.java
serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java
serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableConstantURLObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/WritableURLObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorUtils.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorConverter.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/SettableURLObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/URLObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/JavaURLObjectInspector.java
serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java
serde/src/java/org/apache/hadoop/hive/serde2/io/URLWritable.java
serde/src/gen/thrift/gen-py/org_apache_hadoop_hive_serde/constants.py
serde/src/gen/thrift/gen-cpp/serde_constants.cpp
serde/src/gen/thrift/gen-cpp/serde_constants.h
serde/src/gen/thrift/gen-rb/serde_constants.rb
serde/src/gen/thrift/gen-php/org/apache/hadoop/hive/serde/Types.php
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java
serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/MegaStruct.java
serde/if/serde.thrift
ql/src/test/results/clientpositive/url_udf.q.out