You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2014/09/16 07:37:58 UTC

svn commit: r1625214 - in /hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql: optimizer/optiq/translator/JoinTypeCheckCtx.java parse/TypeCheckCtx.java parse/TypeCheckProcFactory.java

Author: hashutosh
Date: Tue Sep 16 05:37:58 2014
New Revision: 1625214

URL: http://svn.apache.org/r1625214
Log:
HIVE-8117 : [CBO] Let cbo handle field expression for join conditions (Ashutosh Chauhan via John Pullokkaran)

Modified:
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java?rev=1625214&r1=1625213&r2=1625214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/translator/JoinTypeCheckCtx.java Tue Sep 16 05:37:58 2014
@@ -54,7 +54,7 @@ public class JoinTypeCheckCtx extends Ty
   public JoinTypeCheckCtx(RowResolver leftRR, RowResolver rightRR, JoinType hiveJoinType)
       throws SemanticException {
     super(RowResolver.getCombinedRR(leftRR, rightRR), false, false, false, false, false, false,
-        false, false, false);
+        false, false);
     this.inputRRLst = ImmutableList.of(leftRR, rightRR);
     this.outerJoin = (hiveJoinType == JoinType.LEFTOUTER) || (hiveJoinType == JoinType.RIGHTOUTER)
         || (hiveJoinType == JoinType.FULLOUTER);

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java?rev=1625214&r1=1625213&r2=1625214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckCtx.java Tue Sep 16 05:37:58 2014
@@ -62,9 +62,6 @@ public class TypeCheckCtx implements Nod
 
   private final boolean allowWindowing;
 
-  // "." : FIELD Expression
-  private final boolean allowFieldExpr;
-
   // "[]" : LSQUARE/INDEX Expression
   private final boolean allowIndexExpr;
 
@@ -77,12 +74,12 @@ public class TypeCheckCtx implements Nod
    *          The input row resolver of the previous operator.
    */
   public TypeCheckCtx(RowResolver inputRR) {
-    this(inputRR, false, true, true, true, true, true, true, true, true);
+    this(inputRR, false, true, true, true, true, true, true, true);
   }
 
   public TypeCheckCtx(RowResolver inputRR, boolean allowStatefulFunctions,
       boolean allowDistinctFunctions, boolean allowGBExprElimination, boolean allowAllColRef,
-      boolean allowFunctionStar, boolean allowWindowing, boolean allowFieldExpr,
+      boolean allowFunctionStar, boolean allowWindowing,
       boolean allowIndexExpr, boolean allowSubQueryExpr) {
     setInputRR(inputRR);
     error = null;
@@ -92,7 +89,6 @@ public class TypeCheckCtx implements Nod
     this.allowAllColRef = allowAllColRef;
     this.allowFunctionStar = allowFunctionStar;
     this.allowWindowing = allowWindowing;
-    this.allowFieldExpr = allowFieldExpr;
     this.allowIndexExpr = allowIndexExpr;
     this.allowSubQueryExpr = allowSubQueryExpr;
   }
@@ -145,7 +141,7 @@ public class TypeCheckCtx implements Nod
   /**
    * @param error
    *          the error to set
-   * 
+   *
    */
   public void setError(String error, ASTNode errorSrcNode) {
     this.error = error;
@@ -187,10 +183,6 @@ public class TypeCheckCtx implements Nod
     return allowWindowing;
   }
 
-  public boolean getallowFieldExpr() {
-    return allowFieldExpr;
-  }
-
   public boolean getallowIndexExpr() {
     return allowIndexExpr;
   }

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java?rev=1625214&r1=1625213&r2=1625214&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java Tue Sep 16 05:37:58 2014
@@ -741,8 +741,6 @@ public class TypeCheckProcFactory {
       ExprNodeDesc desc;
       if (funcText.equals(".")) {
         // "." : FIELD Expression
-        if (!ctx.getallowFieldExpr())
-          throw new SemanticException(ErrorMsg.INVALID_FUNCTION.getMsg(expr));
 
         assert (children.size() == 2);
         // Only allow constant field name for now