diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java index 7c1ab0d..6da9e39 100644 --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/Vectorizer.java @@ -450,8 +450,10 @@ boolean validateOperator(Operator op) { case REDUCESINK: ret = validateReduceSinkOperator((ReduceSinkOperator) op); break; - case FILESINK: case TABLESCAN: + ret = validateTableScanOperator((TableScanOperator) op); + break; + case FILESINK: case LIMIT: ret = true; break; @@ -462,6 +464,11 @@ boolean validateOperator(Operator op) { return ret; } + private boolean validateTableScanOperator(TableScanOperator op) { + TableScanDesc desc = op.getConf(); + return !desc.isGatherStats(); + } + private boolean validateMapJoinOperator(MapJoinOperator op) { MapJoinDesc desc = op.getConf(); byte posBigTable = (byte) desc.getPosBigTable();