From b9d132f072db8732bde4f80894344e2d438bd423 Mon Sep 17 00:00:00 2001 From: Syed Albiz Date: Tue, 12 Jul 2011 11:57:25 -0700 Subject: [PATCH 1/1] Fix 2155 regression diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java index dfadb9f..fd4daee 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java @@ -384,8 +384,15 @@ public final class TypeCheckProcFactory { if (colInfo == null) { // It's not a column or a table alias. if (input.getIsExprResolver()) { - stack.pop(); - ctx.setError(ErrorMsg.NON_KEY_EXPR_IN_GROUPBY.getMsg((ASTNode) stack.peek()), expr); + ASTNode exprNode = expr; + if (!stack.empty()) { + ASTNode tmp = (ASTNode) stack.pop(); + if (!stack.empty()) { + exprNode = (ASTNode) stack.peek(); + } + stack.push(tmp); + } + ctx.setError(ErrorMsg.NON_KEY_EXPR_IN_GROUPBY.getMsg(exprNode), expr); return null; } else { ctx.setError(ErrorMsg.INVALID_TABLE_OR_COLUMN.getMsg(expr diff --git ql/src/test/queries/clientnegative/nonkey_groupby.q ql/src/test/queries/clientnegative/nonkey_groupby.q new file mode 100644 index 0000000..431e04e --- /dev/null +++ ql/src/test/queries/clientnegative/nonkey_groupby.q @@ -0,0 +1 @@ +EXPLAIN SELECT key, count(1) FROM src; diff --git ql/src/test/results/clientnegative/nonkey_groupby.q.out ql/src/test/results/clientnegative/nonkey_groupby.q.out new file mode 100644 index 0000000..062250f --- /dev/null +++ ql/src/test/results/clientnegative/nonkey_groupby.q.out @@ -0,0 +1 @@ +FAILED: Error in semantic analysis: Line 1:15 Expression not in GROUP BY key 'key' -- 1.7.4.4