Index: ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java (revision 1365985) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java (working copy) @@ -1864,10 +1864,18 @@ boolean stringPartitionColumns = true; List partCols = tab.getPartCols(); - for (FieldSchema partCol : partCols) { - if (!partCol.getType().toLowerCase().equals("string")) { - stringPartitionColumns = false; - break; + for (PartitionSpec partSpec : partSpecs) { + Map partialSpec = partSpec.getPartSpecWithoutOperator(); + for (FieldSchema partCol : partCols) { + boolean isPartColExist = true; + if (partialSpec.containsKey(partCol.getName())) + { + isPartColExist = false; + } + if (!isPartColExist && !partCol.getType().equalsIgnoreCase("string")) { + stringPartitionColumns = false; + break; + } } }