diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 963ca8d..5914fdb 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -261,6 +261,7 @@ 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 RelNode apply(RelOptCluster cluster, RelOptSchema relOptSchema, SchemaPlu 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; }