You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2014/10/22 22:39:01 UTC
svn commit: r1633716 -
/hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
Author: sershe
Date: Wed Oct 22 20:39:00 2014
New Revision: 1633716
URL: http://svn.apache.org/r1633716
Log:
HIVE-8547 : CBO and/or constant propagation breaks partition_varchar2 test (Sergey Shelukhin, reviewed by Ashutosh Chauhan)
Modified:
hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
Modified: hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java?rev=1633716&r1=1633715&r2=1633716&view=diff
==============================================================================
--- hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (original)
+++ hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java Wed Oct 22 20:39:00 2014
@@ -361,13 +361,10 @@ public final class ConstantPropagateProc
}
private static ExprNodeColumnDesc getColumnExpr(ExprNodeDesc expr) {
- if (expr instanceof ExprNodeColumnDesc) {
- return (ExprNodeColumnDesc)expr;
+ while (FunctionRegistry.isOpCast(expr)) {
+ expr = expr.getChildren().get(0);
}
- if (FunctionRegistry.isOpCast(expr)) {
- return (ExprNodeColumnDesc)expr.getChildren().get(0);
- }
- return null;
+ return (expr instanceof ExprNodeColumnDesc) ? (ExprNodeColumnDesc)expr : null;
}
private static ExprNodeDesc shortcutFunction(GenericUDF udf, List<ExprNodeDesc> newExprs) {