You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2010/01/12 21:55:14 UTC

svn commit: r898506 - in /hadoop/hive/branches/branch-0.5: CHANGES.txt ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ql/src/test/queries/clientpositive/transform2.q ql/src/test/results/clientpositive/transform2.q.out

Author: namit
Date: Tue Jan 12 20:55:13 2010
New Revision: 898506

URL: http://svn.apache.org/viewvc?rev=898506&view=rev
Log:
HIVE-1042 incorrect error while processing a function in transform
(Paul Yang via namit)


Added:
    hadoop/hive/branches/branch-0.5/ql/src/test/queries/clientpositive/transform2.q
    hadoop/hive/branches/branch-0.5/ql/src/test/results/clientpositive/transform2.q.out
Modified:
    hadoop/hive/branches/branch-0.5/CHANGES.txt
    hadoop/hive/branches/branch-0.5/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Modified: hadoop/hive/branches/branch-0.5/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/branches/branch-0.5/CHANGES.txt?rev=898506&r1=898505&r2=898506&view=diff
==============================================================================
--- hadoop/hive/branches/branch-0.5/CHANGES.txt (original)
+++ hadoop/hive/branches/branch-0.5/CHANGES.txt Tue Jan 12 20:55:13 2010
@@ -430,6 +430,9 @@
     HIVE-1037 SerDe & ObjectInspector for RowContainer mismatch with the
     input data (Ning Zhang via namit)
 
+    HIVE-1042 incorrect error while processing a function in transform
+    (Paul Yang via namit)
+
 Release 0.4.0 -  Unreleased
 
   INCOMPATIBLE CHANGES

Modified: hadoop/hive/branches/branch-0.5/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hadoop/hive/branches/branch-0.5/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=898506&r1=898505&r2=898506&view=diff
==============================================================================
--- hadoop/hive/branches/branch-0.5/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hadoop/hive/branches/branch-0.5/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Tue Jan 12 20:55:13 2010
@@ -1526,9 +1526,11 @@
       // child can be EXPR AS ALIAS, or EXPR.
       ASTNode child = (ASTNode) exprList.getChild(i);
       boolean hasAsClause = (!isInTransform) && (child.getChildCount() == 2);
-
+      
       // EXPR AS (ALIAS,...) parses, but is only allowed for UDTF's
-      if (!isUDTF && child.getChildCount() > 2) {
+      // This check is not needed and invalid when there is a transform b/c the 
+      // AST's are slightly different.
+      if (!isInTransform && !isUDTF && child.getChildCount() > 2) {
         throw new SemanticException(ErrorMsg.INVALID_AS.getMsg());
       }
 

Added: hadoop/hive/branches/branch-0.5/ql/src/test/queries/clientpositive/transform2.q
URL: http://svn.apache.org/viewvc/hadoop/hive/branches/branch-0.5/ql/src/test/queries/clientpositive/transform2.q?rev=898506&view=auto
==============================================================================
--- hadoop/hive/branches/branch-0.5/ql/src/test/queries/clientpositive/transform2.q (added)
+++ hadoop/hive/branches/branch-0.5/ql/src/test/queries/clientpositive/transform2.q Tue Jan 12 20:55:13 2010
@@ -0,0 +1,2 @@
+-- Transform with a function that has many parameters
+SELECT TRANSFORM(substr(key, 1, 2)) USING 'cat' FROM src LIMIT 1;

Added: hadoop/hive/branches/branch-0.5/ql/src/test/results/clientpositive/transform2.q.out
URL: http://svn.apache.org/viewvc/hadoop/hive/branches/branch-0.5/ql/src/test/results/clientpositive/transform2.q.out?rev=898506&view=auto
==============================================================================
--- hadoop/hive/branches/branch-0.5/ql/src/test/results/clientpositive/transform2.q.out (added)
+++ hadoop/hive/branches/branch-0.5/ql/src/test/results/clientpositive/transform2.q.out Tue Jan 12 20:55:13 2010
@@ -0,0 +1,11 @@
+PREHOOK: query: -- Transform with a function that has many parameters
+SELECT TRANSFORM(substr(key, 1, 2)) USING 'cat' FROM src LIMIT 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/366195841/10000
+POSTHOOK: query: -- Transform with a function that has many parameters
+SELECT TRANSFORM(substr(key, 1, 2)) USING 'cat' FROM src LIMIT 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/366195841/10000
+23	NULL