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