diff --git hcatalog/core/src/test/java/org/apache/hive/hcatalog/data/schema/TestHCatSchemaUtils.java hcatalog/core/src/test/java/org/apache/hive/hcatalog/data/schema/TestHCatSchemaUtils.java index 56c1844..4557d34 100644 --- hcatalog/core/src/test/java/org/apache/hive/hcatalog/data/schema/TestHCatSchemaUtils.java +++ hcatalog/core/src/test/java/org/apache/hive/hcatalog/data/schema/TestHCatSchemaUtils.java @@ -35,10 +35,10 @@ public void testSimpleOperation() throws Exception { String typeString = "struct," + + "contact:struct," + "currently_registered_courses:array," + "current_grades:map," - + "phnos:array>,blah:array>"; + + "phNos:array>,blah:array>"; TypeInfo ti = TypeInfoUtils.getTypeInfoFromTypeString(typeString); @@ -47,7 +47,7 @@ public void testSimpleOperation() throws Exception { LOG.info("HCatSchema : {}", hsch); assertEquals(hsch.size(), 1); assertEquals(ti.getTypeName(), hsch.get(0).getTypeString()); - assertEquals(hsch.get(0).getTypeString(), typeString); + assertEquals(hsch.get(0).getTypeString(), typeString.toLowerCase()); } @SuppressWarnings("unused") diff --git serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java index e5c9f18..798994d 100644 --- serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java +++ serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoFactory.java @@ -194,11 +194,15 @@ public static TypeInfo getPrimitiveTypeInfoFromJavaPrimitive(Class clazz) { public static TypeInfo getStructTypeInfo(List names, List typeInfos) { ArrayList> signature = new ArrayList>(2); - signature.add(names); + ArrayList lowerCaseNames = new ArrayList(names.size()); + for (String name : names) { + lowerCaseNames.add(name.toLowerCase()); + } + signature.add(lowerCaseNames); signature.add(typeInfos); TypeInfo result = cachedStructTypeInfo.get(signature); if (result == null) { - result = new StructTypeInfo(names, typeInfos); + result = new StructTypeInfo(lowerCaseNames, typeInfos); cachedStructTypeInfo.put(signature, result); } return result;