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 2011/02/18 02:31:30 UTC
svn commit: r1071853 - in /pig/trunk: CHANGES.txt
src/org/apache/pig/newplan/logical/rules/LogicalExpressionSimplifier.java
test/org/apache/pig/test/TestFilterSimplification.java
Author: daijy
Date: Fri Feb 18 01:31:29 2011
New Revision: 1071853
URL: http://svn.apache.org/viewvc?rev=1071853&view=rev
Log:
PIG-1820: New logical plan: FilterLogicExpressionSimplifier fail to deal with UDF
Modified:
pig/trunk/CHANGES.txt
pig/trunk/src/org/apache/pig/newplan/logical/rules/LogicalExpressionSimplifier.java
pig/trunk/test/org/apache/pig/test/TestFilterSimplification.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1071853&r1=1071852&r2=1071853&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Feb 18 01:31:29 2011
@@ -299,6 +299,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
BUG FIXES
+PIG-1820: New logical plan: FilterLogicExpressionSimplifier fail to deal with UDF (daijy)
+
PIG-1854: Pig returns exit code 0 for the failed Pig script (rding)
PIG-1812: Problem with DID_NOT_FIND_LOAD_ONLY_MAP_PLAN (daijy)
Modified: pig/trunk/src/org/apache/pig/newplan/logical/rules/LogicalExpressionSimplifier.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/newplan/logical/rules/LogicalExpressionSimplifier.java?rev=1071853&r1=1071852&r2=1071853&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/newplan/logical/rules/LogicalExpressionSimplifier.java (original)
+++ pig/trunk/src/org/apache/pig/newplan/logical/rules/LogicalExpressionSimplifier.java Fri Feb 18 01:31:29 2011
@@ -557,6 +557,8 @@ public class LogicalExpressionSimplifier
return Unknown;
}
+ if (!(le1 instanceof BinaryExpression)||!(le2 instanceof BinaryExpression))
+ return Unknown;
BinaryExpression b1 = !proxy1 ? (BinaryExpression) e1
: (BinaryExpression) ((LogicalExpressionProxy) e1).src, b2 = !proxy2 ? (BinaryExpression) e2
: (BinaryExpression) ((LogicalExpressionProxy) e2).src;
Modified: pig/trunk/test/org/apache/pig/test/TestFilterSimplification.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestFilterSimplification.java?rev=1071853&r1=1071852&r2=1071853&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestFilterSimplification.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestFilterSimplification.java Fri Feb 18 01:31:29 2011
@@ -804,6 +804,26 @@ public class TestFilterSimplification ex
assertTrue(expected.isEqual(newLogicalPlan));
}
+ @Test
+ // PIG-1820
+ public void test8() throws Exception {
+ LogicalPlanTester lpt = new LogicalPlanTester(pc);
+ lpt.buildPlan("b = filter (load 'd.txt' as (a0, a1)) by (a0 is not null or a1 is not null) and IsEmpty(a0);");
+
+ org.apache.pig.impl.logicalLayer.LogicalPlan plan = lpt.buildPlan("store b into 'empty';");
+ LogicalPlan newLogicalPlan = migratePlan(plan);
+
+ PlanOptimizer optimizer = new MyPlanOptimizer(newLogicalPlan, 10);
+ optimizer.optimize();
+
+ lpt = new LogicalPlanTester(pc);
+ lpt.buildPlan("b = filter (load 'd.txt' as (a0, a1)) by (a0 is not null or a1 is not null) and IsEmpty(a0);");
+ plan = lpt.buildPlan("store b into 'empty';");
+ LogicalPlan expected = migratePlan(plan);
+
+ assertTrue(expected.isEqual(newLogicalPlan));
+ }
+
public class MyPlanOptimizer extends LogicalPlanOptimizer {
protected MyPlanOptimizer(OperatorPlan p, int iterations) {