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/10/07 19:54:24 UTC
svn commit: r1629938 -
/hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
Author: rhbutani
Date: Tue Oct 7 17:54:24 2014
New Revision: 1629938
URL: http://svn.apache.org/r1629938
Log:
HIVE-8261 CBO : Predicate pushdown is removed by Optiq (Harish Butani via Gunther Hagleitner)
Modified:
hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
Modified: hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1629938&r1=1629937&r2=1629938&view=diff
==============================================================================
--- hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/branches/branch-0.14/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Tue Oct 7 17:54:24 2014
@@ -235,6 +235,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;
@@ -249,6 +250,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;
@@ -12327,7 +12329,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),