Index: ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (revision 1463367) +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (working copy) @@ -5204,7 +5204,12 @@ boolean dynPart = HiveConf.getBoolVar(conf, HiveConf.ConfVars.DYNAMICPARTITIONING); ArrayList rowFields = opParseCtx.get(input).getRowResolver() .getColumnInfos(); - int inColumnCnt = rowFields.size(); + int inColumnCnt = 0; + for (ColumnInfo rowField : rowFields) { + if (!rowField.getIsVirtualCol()) { + inColumnCnt += 1; + } + } int outColumnCnt = tableFields.size(); if (dynPart && dpCtx != null) { outColumnCnt += dpCtx.getNumDPCols();