diff --git serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/PrimitiveTypeInfo.java serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/PrimitiveTypeInfo.java index ed6ea50..e4b7d56 100644 --- serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/PrimitiveTypeInfo.java +++ serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/PrimitiveTypeInfo.java @@ -38,6 +38,8 @@ // Base name (varchar vs fully qualified name such as varchar(200)). protected String typeName; + private PrimitiveTypeEntry typeEntry; + /** * For java serialization use only. */ @@ -48,7 +50,7 @@ public PrimitiveTypeInfo() { * For TypeInfoFactory use only. */ PrimitiveTypeInfo(String typeName) { - this.typeName = typeName; + setTypeName(typeName); } /** @@ -73,6 +75,7 @@ public PrimitiveCategory getPrimitiveCategory() { // The following 2 methods are for java serialization use only. public void setTypeName(String typeName) { + this.typeEntry = PrimitiveObjectInspectorUtils.getTypeEntryFromTypeName(typeName); this.typeName = typeName; } @@ -82,7 +85,7 @@ public String getTypeName() { } public PrimitiveTypeEntry getPrimitiveTypeEntry() { - return PrimitiveObjectInspectorUtils.getTypeEntryFromTypeName(typeName); + return typeEntry; } @Override