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 21:41:02 UTC
svn commit: r1633695 -
/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
Author: sershe
Date: Wed Oct 22 19:41:01 2014
New Revision: 1633695
URL: http://svn.apache.org/r1633695
Log:
HIVE-8547 : CBO and/or constant propagation breaks partition_varchar2 test (Sergey Shelukhin, reviewed by Ashutosh Chauhan)
Modified:
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java?rev=1633695&r1=1633694&r2=1633695&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java Wed Oct 22 19:41:01 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) {