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..e80c3d2 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); @@ -46,8 +46,9 @@ public void testSimpleOperation() throws Exception { LOG.info("Type name : {}", ti.getTypeName()); LOG.info("HCatSchema : {}", hsch); assertEquals(hsch.size(), 1); - assertEquals(ti.getTypeName(), hsch.get(0).getTypeString()); - assertEquals(hsch.get(0).getTypeString(), typeString); + // Looks like HCatFieldSchema.getTypeString() lower-cases its results + assertEquals(ti.getTypeName().toLowerCase(), hsch.get(0).getTypeString()); + assertEquals(hsch.get(0).getTypeString(), typeString.toLowerCase()); } @SuppressWarnings("unused") diff --git serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/StructTypeInfo.java serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/StructTypeInfo.java index 465bf31..f89a412 100644 --- serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/StructTypeInfo.java +++ serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/StructTypeInfo.java @@ -102,7 +102,7 @@ public Category getCategory() { public TypeInfo getStructFieldTypeInfo(String field) { String fieldLowerCase = field.toLowerCase(); for (int i = 0; i < allStructFieldNames.size(); i++) { - if (fieldLowerCase.equals(allStructFieldNames.get(i))) { + if (fieldLowerCase.equalsIgnoreCase(allStructFieldNames.get(i))) { return allStructFieldTypeInfos.get(i); } }