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