You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by nz...@apache.org on 2011/09/14 17:06:27 UTC
svn commit: r1170672 - in /hive/trunk/ql/src:
java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java
java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
test/queries/clientnegative/orderby_function.q
test/results/clientnegative/orderby_function.q.out
Author: nzhang
Date: Wed Sep 14 15:06:26 2011
New Revision: 1170672
URL: http://svn.apache.org/viewvc?rev=1170672&view=rev
Log:
HIVE-2145. NPE during parsing order-by expression (Chinna Rao Lalam via Ning Zhang)
Added:
hive/trunk/ql/src/test/queries/clientnegative/orderby_function.q
hive/trunk/ql/src/test/results/clientnegative/orderby_function.q.out
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java?rev=1170672&r1=1170671&r2=1170672&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/ErrorMsg.java Wed Sep 14 15:06:26 2011
@@ -186,6 +186,7 @@ public enum ErrorMsg {
NO_COMPARE_BIGINT_DOUBLE("In strict mode, comparing bigints and doubles is not allowed, "
+ "it may result in a loss of precision. "
+ "If you really want to perform the operation, set hive.mapred.mode=nonstrict"),
+ FUNCTIONS_ARE_NOT_SUPPORTED_IN_ORDER_BY("functions are not supported in order by"),
;
private String mesg;
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1170672&r1=1170671&r2=1170672&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Wed Sep 14 15:06:26 2011
@@ -4524,6 +4524,9 @@ public class SemanticAnalyzer extends Ba
// ClusterBy
order.append("+");
}
+ if (cl.getType() == HiveParser.TOK_FUNCTION) {
+ throw new SemanticException(ErrorMsg.FUNCTIONS_ARE_NOT_SUPPORTED_IN_ORDER_BY.getMsg());
+ }
ExprNodeDesc exprNode = genExprNodeDesc(cl, inputRR);
sortCols.add(exprNode);
}
Added: hive/trunk/ql/src/test/queries/clientnegative/orderby_function.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientnegative/orderby_function.q?rev=1170672&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientnegative/orderby_function.q (added)
+++ hive/trunk/ql/src/test/queries/clientnegative/orderby_function.q Wed Sep 14 15:06:26 2011
@@ -0,0 +1 @@
+select src.key FROM src ORDER BY count(1) limit 1;
Added: hive/trunk/ql/src/test/results/clientnegative/orderby_function.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/orderby_function.q.out?rev=1170672&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/orderby_function.q.out (added)
+++ hive/trunk/ql/src/test/results/clientnegative/orderby_function.q.out Wed Sep 14 15:06:26 2011
@@ -0,0 +1 @@
+FAILED: Error in semantic analysis: functions are not supported in order by