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/08/06 08:46:49 UTC

svn commit: r1616110 - /hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Author: hashutosh
Date: Wed Aug  6 06:46:49 2014
New Revision: 1616110

URL: http://svn.apache.org/r1616110
Log:
HIVE-7628 : CBO: log Plan coming out of each phase in Optiq Planning (Harish Butani via Ashutosh Chauhan)

Modified:
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1616110&r1=1616109&r2=1616110&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Wed Aug  6 06:46:49 2014
@@ -261,6 +261,7 @@ import org.eigenbase.sql.SqlWindow;
 import org.eigenbase.sql.parser.SqlParserPos;
 import org.eigenbase.sql.type.SqlTypeName;
 import org.eigenbase.sql.SqlCall;
+import org.eigenbase.sql.SqlExplainLevel;
 import org.eigenbase.sql.SqlKind;
 import org.eigenbase.sql.SqlNode;
 import org.eigenbase.sql.SqlLiteral;
@@ -11890,6 +11891,19 @@ public class SemanticAnalyzer extends Ba
         optiqOptimizedPlan = hepPlanner.findBestExp();
       }
 
+      if (LOG.isDebugEnabled()) {
+        LOG.debug("CBO Planning details:\n");
+        LOG.debug("Original Plan:\n");
+        LOG.debug(RelOptUtil.toString(optiqGenPlan,
+            SqlExplainLevel.ALL_ATTRIBUTES));
+        LOG.debug("Plan After PPD, PartPruning, ColumnPruning:\n");
+        LOG.debug(RelOptUtil.toString(optiqPreCboPlan,
+            SqlExplainLevel.ALL_ATTRIBUTES));
+        LOG.debug("Plan After Join Reordering:\n");
+        LOG.debug(RelOptUtil.toString(optiqOptimizedPlan,
+            SqlExplainLevel.ALL_ATTRIBUTES));
+      }
+
       return optiqOptimizedPlan;
     }