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/12/06 01:59:52 UTC
svn commit: r1042504 - in /pig/branches/branch-0.8: CHANGES.txt
src/org/apache/pig/newplan/logical/rules/PushDownForEachFlatten.java
test/org/apache/pig/test/TestNewPlanPushDownForeachFlatten.java
Author: daijy
Date: Mon Dec 6 00:59:52 2010
New Revision: 1042504
URL: http://svn.apache.org/viewvc?rev=1042504&view=rev
Log:
PIG-1751: New logical plan: PushDownForEachFlatten fail in UDF with unknown output schema
Modified:
pig/branches/branch-0.8/CHANGES.txt
pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/rules/PushDownForEachFlatten.java
pig/branches/branch-0.8/test/org/apache/pig/test/TestNewPlanPushDownForeachFlatten.java
Modified: pig/branches/branch-0.8/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/CHANGES.txt?rev=1042504&r1=1042503&r2=1042504&view=diff
==============================================================================
--- pig/branches/branch-0.8/CHANGES.txt (original)
+++ pig/branches/branch-0.8/CHANGES.txt Mon Dec 6 00:59:52 2010
@@ -207,6 +207,9 @@ PIG-1309: Map-side Cogroup (ashutoshc)
BUG FIXES
+PIG-1751: New logical plan: PushDownForEachFlatten fail in UDF with unknown
+output schema (daijy)
+
PIG-1741: Lineage fail when flatten a bag (daijy)
PIG-1739: zero status is returned when pig script fails (yanz)
Modified: pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/rules/PushDownForEachFlatten.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/rules/PushDownForEachFlatten.java?rev=1042504&r1=1042503&r2=1042504&view=diff
==============================================================================
--- pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/rules/PushDownForEachFlatten.java (original)
+++ pig/branches/branch-0.8/src/org/apache/pig/newplan/logical/rules/PushDownForEachFlatten.java Mon Dec 6 00:59:52 2010
@@ -164,7 +164,7 @@ public class PushDownForEachFlatten exte
}
private List<ProjectExpression> getProjectExpressions(LogicalExpressionPlan expr) {
- List<Operator> ops = expr.getSources();
+ List<Operator> ops = expr.getSinks();
List<ProjectExpression> projs = new ArrayList<ProjectExpression>( ops.size() );
for( Operator op : ops ) {
if( op instanceof ProjectExpression ) {
Modified: pig/branches/branch-0.8/test/org/apache/pig/test/TestNewPlanPushDownForeachFlatten.java
URL: http://svn.apache.org/viewvc/pig/branches/branch-0.8/test/org/apache/pig/test/TestNewPlanPushDownForeachFlatten.java?rev=1042504&r1=1042503&r2=1042504&view=diff
==============================================================================
--- pig/branches/branch-0.8/test/org/apache/pig/test/TestNewPlanPushDownForeachFlatten.java (original)
+++ pig/branches/branch-0.8/test/org/apache/pig/test/TestNewPlanPushDownForeachFlatten.java Mon Dec 6 00:59:52 2010
@@ -1039,6 +1039,20 @@ public class TestNewPlanPushDownForeachF
Assert.assertTrue(foreach.getSchema().getField(1).alias.equals("q1"));
Assert.assertTrue(foreach.getSchema().getField(2).alias.equals("q2"));
}
+
+ // See PIG-1751
+ @Test
+ public void testForeachWithUserDefinedSchema2() throws Exception {
+ planTester.buildPlan("a = load '1.txt' as (a0:chararray);");
+ planTester.buildPlan("b = load '2.txt' as (b0:chararray);");
+ planTester.buildPlan("c = foreach b generate flatten(STRSPLIT(b0)) as c0;");
+ org.apache.pig.impl.logicalLayer.LogicalPlan lp = planTester.buildPlan("d = join c by (chararray)c0, a by a0;");
+
+ LogicalPlan newLogicalPlan = migrateAndOptimizePlan( lp );
+
+ Operator op = newLogicalPlan.getSinks().get( 0 );
+ Assert.assertTrue(op instanceof LOJoin);
+ }
public class MyPlanOptimizer extends LogicalPlanOptimizer {
protected MyPlanOptimizer(OperatorPlan p, int iterations) {