You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by rh...@apache.org on 2014/09/30 19:51:26 UTC

svn commit: r1628499 - /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Author: rhbutani
Date: Tue Sep 30 17:51:26 2014
New Revision: 1628499

URL: http://svn.apache.org/r1628499
Log:
HIVE-8261 CBO : Predicate pushdown is removed by Optiq (Harish Butani via Gunther Hagleitner)

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

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1628499&r1=1628498&r2=1628499&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Tue Sep 30 17:51:26 2014
@@ -231,6 +231,7 @@ import org.apache.hadoop.hive.serde2.typ
 import org.apache.hadoop.io.IOUtils;
 import org.apache.hadoop.mapred.InputFormat;
 import org.eigenbase.rel.AggregateCall;
+import org.eigenbase.rel.AggregateRelBase;
 import org.eigenbase.rel.Aggregation;
 import org.eigenbase.rel.FilterRelBase;
 import org.eigenbase.rel.InvalidRelException;
@@ -245,6 +246,7 @@ import org.eigenbase.rel.metadata.Cachin
 import org.eigenbase.rel.metadata.ChainedRelMetadataProvider;
 import org.eigenbase.rel.metadata.RelMetadataProvider;
 import org.eigenbase.rel.rules.ConvertMultiJoinRule;
+import org.eigenbase.rel.rules.FilterAggregateTransposeRule;
 import org.eigenbase.rel.rules.LoptOptimizeJoinRule;
 import org.eigenbase.rel.rules.MergeFilterRule;
 import org.eigenbase.rel.rules.PushFilterPastProjectRule;
@@ -12296,7 +12298,11 @@ public class SemanticAnalyzer extends Ba
           HiveProjectRel.DEFAULT_PROJECT_FACTORY), new PushFilterPastSetOpRule(
           HiveFilterRel.DEFAULT_FILTER_FACTORY), new MergeFilterRule(
           HiveFilterRel.DEFAULT_FILTER_FACTORY), HivePushFilterPastJoinRule.JOIN,
-          HivePushFilterPastJoinRule.FILTER_ON_JOIN);
+          HivePushFilterPastJoinRule.FILTER_ON_JOIN,
+          new FilterAggregateTransposeRule(
+              FilterRelBase.class,
+                    HiveFilterRel.DEFAULT_FILTER_FACTORY,
+                    AggregateRelBase.class));
 
       basePlan = hepPlan(basePlan, false, mdProvider, new TransitivePredicatesOnJoinRule(
           JoinRelBase.class, HiveFilterRel.DEFAULT_FILTER_FACTORY),