You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2014/06/28 01:57:29 UTC

svn commit: r1606272 - in /hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql: optimizer/optiq/rules/HivePushFilterPastJoinRule.java optimizer/optiq/rules/HiveRelFieldTrimmer.java parse/SemanticAnalyzer.java

Author: gunther
Date: Fri Jun 27 23:57:28 2014
New Revision: 1606272

URL: http://svn.apache.org/r1606272
Log:
Reverting HIVE-7283 because of unit test failures. (Gunther Hagleitner)

Removed:
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HivePushFilterPastJoinRule.java
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/optimizer/optiq/rules/HiveRelFieldTrimmer.java
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=1606272&r1=1606271&r2=1606272&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 Fri Jun 27 23:57:28 2014
@@ -120,9 +120,7 @@ import org.apache.hadoop.hive.ql.optimiz
 import org.apache.hadoop.hive.ql.optimizer.optiq.reloperators.HiveTableScanRel;
 import org.apache.hadoop.hive.ql.optimizer.optiq.rules.HiveMergeProjectRule;
 import org.apache.hadoop.hive.ql.optimizer.optiq.rules.HivePullUpProjectsAboveJoinRule;
-import org.apache.hadoop.hive.ql.optimizer.optiq.rules.HivePushFilterPastJoinRule;
 import org.apache.hadoop.hive.ql.optimizer.optiq.rules.HivePushJoinThroughJoinRule;
-import org.apache.hadoop.hive.ql.optimizer.optiq.rules.HiveRelFieldTrimmer;
 import org.apache.hadoop.hive.ql.optimizer.optiq.rules.HiveSwapJoinRule;
 import org.apache.hadoop.hive.ql.optimizer.optiq.translator.ASTConverter;
 import org.apache.hadoop.hive.ql.optimizer.optiq.translator.RexNodeConverter;
@@ -236,8 +234,6 @@ import org.eigenbase.relopt.RelOptPlanne
 import org.eigenbase.relopt.RelOptQuery;
 import org.eigenbase.relopt.RelOptSchema;
 import org.eigenbase.relopt.RelTraitSet;
-import org.eigenbase.relopt.hep.HepPlanner;
-import org.eigenbase.relopt.hep.HepProgramBuilder;
 import org.eigenbase.reltype.RelDataType;
 import org.eigenbase.reltype.RelDataTypeField;
 import org.eigenbase.rex.RexBuilder;
@@ -11765,9 +11761,6 @@ public class SemanticAnalyzer extends Ba
         throw new RuntimeException(e);
       }
 
-      optiqPlan = applyPreCBOTransforms(optiqPlan,
-          HiveDefaultRelMetadataProvider.INSTANCE);
-
       List<RelMetadataProvider> list = Lists.newArrayList();
       list.add(HiveDefaultRelMetadataProvider.INSTANCE);
       planner.registerMetadataProviders(list);
@@ -11799,30 +11792,6 @@ public class SemanticAnalyzer extends Ba
       return planner.findBestExp();
     }
 
-    public RelNode applyPreCBOTransforms(RelNode basePlan,
-        RelMetadataProvider mdProvider) {
-
-      HepProgramBuilder programBuilder = new HepProgramBuilder();
-      programBuilder.addRuleInstance(HivePushFilterPastJoinRule.FILTER_ON_JOIN);
-      programBuilder.addRuleInstance(HivePushFilterPastJoinRule.JOIN);
-
-      HepPlanner planner = new HepPlanner(programBuilder.build());
-      List<RelMetadataProvider> list = Lists.newArrayList();
-      list.add(mdProvider);
-      planner.registerMetadataProviders(list);
-      RelMetadataProvider chainedProvider = ChainedRelMetadataProvider.of(list);
-      basePlan.getCluster().setMetadataProvider(
-          new CachingRelMetadataProvider(chainedProvider, planner));
-
-      planner.setRoot(basePlan);
-      basePlan = planner.findBestExp();
-
-      HiveRelFieldTrimmer fieldTrimmer = new HiveRelFieldTrimmer(null);
-      basePlan = fieldTrimmer.trim(basePlan);
-      return basePlan;
-
-    }
-
     private RelNode genUnionLogicalPlan(String unionalias, String leftalias,
         RelNode leftOp, String rightalias, RelNode rightOp) {
       return null;