You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2010/08/25 19:38:58 UTC

svn commit: r989244 - in /hadoop/pig/trunk: CHANGES.txt src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java

Author: daijy
Date: Wed Aug 25 17:38:57 2010
New Revision: 989244

URL: http://svn.apache.org/viewvc?rev=989244&view=rev
Log:
PIG-1497: Mandatory rule PartitionFilterOptimizer (xuefuz via daijy)

Modified:
    hadoop/pig/trunk/CHANGES.txt
    hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java

Modified: hadoop/pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=989244&r1=989243&r2=989244&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Wed Aug 25 17:38:57 2010
@@ -26,6 +26,8 @@ PIG-1249: Safe-guards against misconfigu
 
 IMPROVEMENTS
 
+PIG-1497: Mandatory rule PartitionFilterOptimizer (xuefuz via daijy)
+
 PIG-1514: Migrate logical optimization rule: OpLimitOptimizer (xuefuz via daijy)
 
 PIG-1551: Improve dynamic invokers to deal with no-arg methods and array parameters (dvryaboy)

Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java?rev=989244&r1=989243&r2=989244&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanOptimizer.java Wed Aug 25 17:38:57 2010
@@ -72,8 +72,17 @@ public class LogicalPlanOptimizer extend
         if (!s.isEmpty())
             ls.add(s);
         
+        // Partition filter set
+        // This set of rules push partition filter to LoadFunc
+        s = new HashSet<Rule>();
+        // Optimize partition filter
+        r = new PartitionFilterPushDown("PartitionFilterPushDown");
+        checkAndAddRule(s, r);
+        if (!s.isEmpty())
+            ls.add(s);
+
         // Limit Set
-        // This set of rules optimize limit
+        // This set of rules push up limit
         s = new HashSet<Rule>();
         // Optimize limit
         r = new OptimizeLimit("OptimizeLimit");