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) {