[ https://issues.apache.org/jira/browse/HIVE-5372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13785506#comment-13785506 ]
Xuefu Zhang commented on HIVE-5372: ----------------------------------- The refactoring work turned out to be much bigger than thought, but it's almost done and I'm running tests against it. The following are the highlights. 1. Removed type params from PrimitiveTypeEntry class, as it belongs to TypeInfo. 2. PrimitiveTypeInfo holds a reference to a PrimitiveTypeEntry instance, as a primitive type shares the same info in class PrimitiveTypeEntry regardless its possible parameters. 3. Wherever type information is needed, TypeInfo instance is referenced/passed. For instance, an object inspector should have a type info instance in order to correctly interpret the data and enforce limit. This includes UDFs as well. 4. Several factory classes, such as TypeInfoFactor, LazyObjectInspector factory, and so on are cleaned and consolidated. 5. Generic type parameter classes are replaced with type info class hierarchy, employing a more OO approach. As a result of the refactoring, I think the code is cleaner, simplified. Type information is consolidated and streamlined. Down the road, it should be easier for people to understand the code and maintain it. > Refactor TypeInfo and PrimitiveTypeEntry class hierachy to eliminate info > repetition > ------------------------------------------------------------------------------------ > > Key: HIVE-5372 > URL: https://issues.apache.org/jira/browse/HIVE-5372 > Project: Hive > Issue Type: Improvement > Components: Types > Affects Versions: 0.12.0 > Reporter: Xuefu Zhang > Assignee: Xuefu Zhang > Fix For: 0.13.0 > > Attachments: HIVE-5372.patch > > > TypeInfo with its sub-classes and PrimititiveTypeEntry class seem having > repetitive information, such as type names and type params. It will be good > if we can streamline the information organization. -- This message was sent by Atlassian JIRA (v6.1#6144)