[
https://issues.apache.org/jira/browse/HIVE-5206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13764618#comment-13764618
]
Phabricator commented on HIVE-5206:
-----------------------------------
ashutoshc has requested changes to the revision "HIVE-5206 [jira] Support
parameterized primitive types".
Awesome comments. Thanks for taking time to put in informative comments!
INLINE COMMENTS
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java:215
I think its better that this method just takes primitiveInfo as an input,
because both category and typeParams can be derived from it. Advantage of that
is instead of callers providing two arguments, they can just pass in one.
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java:776 This
utility method should be in TypeInfoUtilities class, not in Function Registry.
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java:1279 Can't
this genericUDF implement SettableUDF ?
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java:1283 Are
macros not suppose to implement SettableUDF?
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java:1298 I think
this is an error condition, we can't swallow the exception here.
ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java:1273 In a
follow-up jira we should consider cloning object using Kryo, instead of this
reflection based approach. Since Kryo does field base serialization, it is much
more faithful in reproducing the state of object than this reflection based
approach.
ql/src/java/org/apache/hadoop/hive/ql/exec/SettableUDF.java:18 This interface
belongs in o.a.h.ql.udf
ql/src/java/org/apache/hadoop/hive/ql/exec/SettableUDF.java:23 We need to
explicitly annotate this interface to be private, unstable.
ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java:5332
Instead of increasing the size of SemanticAnalyzer, this really belongs to
ParseUtils.
ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java:647
This could just be package private instead of public.
serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/primitive/PrimitiveObjectInspectorFactory.java:313
As stated in previous comment, this could just take in PrimitiveTypeEntry as
one parameter.
serde/src/java/org/apache/hadoop/hive/serde2/lazy/objectinspector/primitive/LazyPrimitiveObjectInspectorFactory.java:144
TypeInfo contains both category as well as typeParams, so consider passing
just that as an argument.
serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/PrimitiveTypeInfo.java:99
Now with Kryo, does that improve things ?
serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java:64
Not sure if we can swallow exception here or we need to throw. Can you add a
comment why is it ok to do so?
REVISION DETAIL
https://reviews.facebook.net/D12693
BRANCH
HIVE-5206
ARCANIST PROJECT
hive
To: JIRA, ashutoshc, jdere
> Support parameterized primitive types
> -------------------------------------
>
> Key: HIVE-5206
> URL: https://issues.apache.org/jira/browse/HIVE-5206
> Project: Hive
> Issue Type: Improvement
> Components: Types
> Reporter: Jason Dere
> Assignee: Jason Dere
> Attachments: HIVE-5206.1.patch, HIVE-5206.2.patch,
> HIVE-5206.D12693.1.patch
>
>
> Support for parameterized types is needed for char/varchar/decimal support.
> This adds a type parameters value to the
> PrimitiveTypeEntry/PrimitiveTypeInfo/PrimitiveObjectInspector objects.
> NO PRECOMMIT TESTS - dependent on HIVE-5203/HIVE-5204
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira