Author: daijy Date: Wed Sep 8 02:05:11 2010 New Revision: 993578 URL: http://svn.apache.org/viewvc?rev=993578&view=rev Log: PIG-1178: LogicalPlan and Optimizer are too complex and hard to work with (PIG-1178-11.patch)
Removed: hadoop/pig/trunk/src/org/apache/pig/newplan/DepthFirstMemoryWalker.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/ExprPrinter.java hadoop/pig/trunk/test/newlogicalplan-tests Modified: hadoop/pig/trunk/build.xml hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AddExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AndExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/BinCondExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ConstantExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DivideExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/EqualExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanEqualExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanEqualExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LogicalExpressionPlan.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MapLookupExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ModExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MultiplyExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/NotEqualExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/OrExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/RegexExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/SubtractExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/UserFuncExpression.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanPrinter.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/ProjectionPatcher.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/SchemaPatcher.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LOLoad.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java Modified: hadoop/pig/trunk/build.xml URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/build.xml?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/build.xml (original) +++ hadoop/pig/trunk/build.xml Wed Sep 8 02:05:11 2010 @@ -84,7 +84,6 @@ <property name="test.timeout" value="2700000" /> <property name="test.junit.output.format" value="plain" /> <property name="test.commit.file" value="${test.src.dir}/commit-tests"/> - <property name="test.newlogicalplan.file" value="${test.src.dir}/newlogicalplan-tests"/> <property name="test.unit.file" value="${test.src.dir}/unit-tests"/> <property name="test.smoke.file" value="${test.src.dir}/smoke-tests"/> <property name="test.all.file" value="${test.src.dir}/all-tests"/> @@ -563,10 +562,6 @@ <macro-test-runner test.file="${test.commit.file}" /> </target> - <target name="test-newlogicalplan" depends="compile-test,jar-withouthadoop" description="Run approximate 10-minute set of unit tests prior to commiting"> - <macro-test-runner test.file="${test.newlogicalplan.file}" /> - </target> - <target name="test-unit" depends="compile-test,jar-withouthadoop" description="Run all true unit tests"> <macro-test-runner test.file="${test.unit.file}" /> </target> Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AddExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AddExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AddExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AddExpression.java Wed Sep 8 02:05:11 2010 @@ -43,7 +43,7 @@ public class AddExpression extends Binar } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AndExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AndExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AndExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/AndExpression.java Wed Sep 8 02:05:11 2010 @@ -44,7 +44,7 @@ public class AndExpression extends Binar } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/BinCondExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/BinCondExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/BinCondExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/BinCondExpression.java Wed Sep 8 02:05:11 2010 @@ -72,7 +72,7 @@ public class BinCondExpression extends L } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ConstantExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ConstantExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ConstantExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ConstantExpression.java Wed Sep 8 02:05:11 2010 @@ -48,7 +48,7 @@ public class ConstantExpression extends } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DereferenceExpression.java Wed Sep 8 02:05:11 2010 @@ -64,7 +64,7 @@ public class DereferenceExpression exten } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DivideExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DivideExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DivideExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/DivideExpression.java Wed Sep 8 02:05:11 2010 @@ -43,7 +43,7 @@ public class DivideExpression extends Bi } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/EqualExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/EqualExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/EqualExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/EqualExpression.java Wed Sep 8 02:05:11 2010 @@ -44,7 +44,7 @@ public class EqualExpression extends Bin } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanEqualExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanEqualExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanEqualExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanEqualExpression.java Wed Sep 8 02:05:11 2010 @@ -40,7 +40,7 @@ public class GreaterThanEqualExpression } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/GreaterThanExpression.java Wed Sep 8 02:05:11 2010 @@ -40,7 +40,7 @@ public class GreaterThanExpression exten } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanEqualExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanEqualExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanEqualExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanEqualExpression.java Wed Sep 8 02:05:11 2010 @@ -40,7 +40,7 @@ public class LessThanEqualExpression ext } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LessThanExpression.java Wed Sep 8 02:05:11 2010 @@ -40,7 +40,7 @@ public class LessThanExpression extends } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LogicalExpressionPlan.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LogicalExpressionPlan.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LogicalExpressionPlan.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/LogicalExpressionPlan.java Wed Sep 8 02:05:11 2010 @@ -20,17 +20,14 @@ package org.apache.pig.newplan.logical.e import java.io.PrintStream; import java.util.ArrayList; -import java.util.HashMap; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; -import java.util.Map; import org.apache.pig.impl.logicalLayer.FrontendException; import org.apache.pig.newplan.BaseOperatorPlan; import org.apache.pig.newplan.Operator; import org.apache.pig.newplan.OperatorPlan; -import org.apache.pig.newplan.logical.optimizer.ExprPrinter; +import org.apache.pig.newplan.logical.optimizer.LogicalPlanPrinter; /** * A plan containing LogicalExpressionOperators. @@ -60,7 +57,7 @@ public class LogicalExpressionPlan exten ps.println("# New Logical Expression Plan:"); ps.println("#-----------------------------------------------"); - ExprPrinter npp = new ExprPrinter(this, ps); + LogicalPlanPrinter npp = new LogicalPlanPrinter(this, ps); npp.visit(); } Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MapLookupExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MapLookupExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MapLookupExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MapLookupExpression.java Wed Sep 8 02:05:11 2010 @@ -44,7 +44,7 @@ public class MapLookupExpression extends plan.add(this); } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ModExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ModExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ModExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ModExpression.java Wed Sep 8 02:05:11 2010 @@ -43,7 +43,7 @@ public class ModExpression extends Binar } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MultiplyExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MultiplyExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MultiplyExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/MultiplyExpression.java Wed Sep 8 02:05:11 2010 @@ -43,7 +43,7 @@ public class MultiplyExpression extends } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/NotEqualExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/NotEqualExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/NotEqualExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/NotEqualExpression.java Wed Sep 8 02:05:11 2010 @@ -44,7 +44,7 @@ public class NotEqualExpression extends } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/OrExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/OrExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/OrExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/OrExpression.java Wed Sep 8 02:05:11 2010 @@ -44,7 +44,7 @@ public class OrExpression extends Binary } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/ProjectExpression.java Wed Sep 8 02:05:11 2010 @@ -65,7 +65,7 @@ public class ProjectExpression extends C } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/RegexExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/RegexExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/RegexExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/RegexExpression.java Wed Sep 8 02:05:11 2010 @@ -44,7 +44,7 @@ public class RegexExpression extends Bin } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/SubtractExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/SubtractExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/SubtractExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/SubtractExpression.java Wed Sep 8 02:05:11 2010 @@ -43,7 +43,7 @@ public class SubtractExpression extends } /** - * @link org.apache.pig.experimental.plan.Operator#accept(org.apache.pig.experimental.plan.PlanVisitor) + * @link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor) */ @Override public void accept(PlanVisitor v) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/UserFuncExpression.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/UserFuncExpression.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/UserFuncExpression.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/expression/UserFuncExpression.java Wed Sep 8 02:05:11 2010 @@ -187,4 +187,21 @@ public class UserFuncExpression extends } return copy; } + + public String toString() { + StringBuilder msg = new StringBuilder(); + msg.append("(Name: " + name + "(" + getFuncSpec() + ")" + " Type: "); + if (fieldSchema!=null) + msg.append(DataType.findTypeName(fieldSchema.type)); + else + msg.append("null"); + msg.append(" Uid: "); + if (fieldSchema!=null) + msg.append(fieldSchema.uid); + else + msg.append("null"); + msg.append(")"); + + return msg.toString(); + } } Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanPrinter.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanPrinter.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanPrinter.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/LogicalPlanPrinter.java Wed Sep 8 02:05:11 2010 @@ -17,216 +17,208 @@ */ package org.apache.pig.newplan.logical.optimizer; -import java.io.PrintStream; -import java.util.Collection; +import java.util.ArrayList; import java.util.List; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.io.OutputStream; +import java.io.IOException; -import org.apache.pig.impl.logicalLayer.FrontendException; -import org.apache.pig.impl.util.MultiMap; +import org.apache.pig.newplan.DepthFirstWalker; +import org.apache.pig.newplan.Operator; import org.apache.pig.newplan.OperatorPlan; +import org.apache.pig.newplan.PlanVisitor; import org.apache.pig.newplan.PlanWalker; import org.apache.pig.newplan.ReverseDependencyOrderWalker; import org.apache.pig.newplan.logical.expression.LogicalExpressionPlan; -import org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor; import org.apache.pig.newplan.logical.relational.LOCogroup; -import org.apache.pig.newplan.logical.relational.LOCross; -import org.apache.pig.newplan.logical.relational.LODistinct; import org.apache.pig.newplan.logical.relational.LOFilter; import org.apache.pig.newplan.logical.relational.LOForEach; import org.apache.pig.newplan.logical.relational.LOGenerate; -import org.apache.pig.newplan.logical.relational.LOInnerLoad; import org.apache.pig.newplan.logical.relational.LOJoin; -import org.apache.pig.newplan.logical.relational.LOLimit; -import org.apache.pig.newplan.logical.relational.LOLoad; import org.apache.pig.newplan.logical.relational.LOSort; -import org.apache.pig.newplan.logical.relational.LOSplit; import org.apache.pig.newplan.logical.relational.LOSplitOutput; -import org.apache.pig.newplan.logical.relational.LOStore; -import org.apache.pig.newplan.logical.relational.LOStream; -import org.apache.pig.newplan.logical.relational.LOUnion; -import org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor; +import org.apache.pig.newplan.logical.relational.LogicalPlan; +import org.apache.pig.impl.logicalLayer.FrontendException; +import org.apache.pig.impl.plan.VisitorException; +import org.apache.pig.impl.util.MultiMap; -public class LogicalPlanPrinter extends LogicalRelationalNodesVisitor { +/** + * A visitor mechanism printing out the logical plan. + */ +public class LogicalPlanPrinter extends PlanVisitor { - protected PrintStream stream = null; - protected int level = 0; - -// private String TAB1 = " "; -// private String TABMore = "| "; -// private String LSep = "|\n|---"; -// private String USep = "| |\n| "; -// private int levelCntr = -1; - + private PrintStream mStream = null; + private String TAB1 = " "; + private String TABMore = "| "; + private String LSep = "|\n|---"; + private String USep = "| |\n| "; + static public String SEPERATE = "\t"; + + /** + * @param ps PrintStream to output plan information to + * @param plan Logical plan to print + */ public LogicalPlanPrinter(OperatorPlan plan, PrintStream ps) throws FrontendException { - super(plan, new ReverseDependencyOrderWalker(plan)); - stream = ps; - } - - protected LogicalExpressionVisitor getVisitor(LogicalExpressionPlan expr) throws FrontendException { - return new ExprPrinter(expr, level+1, stream); - } - - @Override - public void visit(LOLoad op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - } - - @Override - public void visit(LOStore op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); + super(plan, null); + mStream = ps; } @Override - public void visit(LOForEach op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - level++; - OperatorPlan innerPlan = op.getInnerPlan(); - PlanWalker newWalker = currentWalker.spawnChildWalker(innerPlan); - pushWalker(newWalker); - currentWalker.walk(this); - popWalker(); - level--; - } - - @Override - public void visit(LOFilter op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - LogicalExpressionVisitor v = getVisitor(op.getFilterPlan()); - level++; - v.visit(); - level--; - } - - @Override - public void visit(LOJoin op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - - LogicalExpressionVisitor v = null; - level++; - for (LogicalExpressionPlan plan : op.getExpressionPlanValues()) { - v = getVisitor(plan); - v.visit(); + public void visit() throws FrontendException { + try { + if (plan instanceof LogicalPlan) { + mStream.write(depthFirstLP().getBytes()); + } + else { + mStream.write(reverseDepthFirstLP().getBytes()); + } + } catch (IOException e) { + throw new FrontendException(e); } - level--; } - @Override - public void visit(LOGenerate op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - List<LogicalExpressionPlan> plans = op.getOutputPlans(); - LogicalExpressionVisitor v = null; - level++; - for( LogicalExpressionPlan plan : plans ) { - v = getVisitor(plan); - v.visit(); + protected String depthFirstLP() throws FrontendException, IOException { + StringBuilder sb = new StringBuilder(); + List<Operator> leaves = plan.getSinks(); + for (Operator leaf : leaves) { + sb.append(depthFirst(leaf)); + sb.append("\n"); } - level--; - } - - @Override - public void visit(LOInnerLoad op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); + return sb.toString(); } - @Override - public void visit(LOCogroup op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - MultiMap<Integer,LogicalExpressionPlan> exprPlans = op.getExpressionPlans(); - for( Integer key : exprPlans.keySet() ) { - Collection<LogicalExpressionPlan> plans = exprPlans.get(key); - LogicalExpressionVisitor v = null; - level++; - for( LogicalExpressionPlan plan : plans ) { - v = getVisitor(plan); - v.visit(); + private String depthFirst(Operator node) throws FrontendException, IOException { + String nodeString = printNode(node); + + List<Operator> originalPredecessors = plan.getPredecessors(node); + if (originalPredecessors == null) + return nodeString; + + StringBuffer sb = new StringBuffer(nodeString); + List<Operator> predecessors = new ArrayList<Operator>(originalPredecessors); + + int i = 0; + for (Operator pred : predecessors) { + i++; + String DFStr = depthFirst(pred); + if (DFStr != null) { + sb.append(LSep); + if (i < predecessors.size()) + sb.append(shiftStringByTabs(DFStr, 2)); + else + sb.append(shiftStringByTabs(DFStr, 1)); } - level--; } + return sb.toString(); } - @Override - public void visit(LOSplitOutput op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - LogicalExpressionVisitor v = getVisitor(op.getFilterPlan()); - level++; - v.visit(); - level--; - } - - @Override - public void visit(LOSplit op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - level++; - } - - @Override - public void visit(LOUnion op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - level++; - } - - @Override - public void visit(LOCross op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - level++; + protected String reverseDepthFirstLP() throws FrontendException, IOException { + StringBuilder sb = new StringBuilder(); + List<Operator> roots = plan.getSources(); + for (Operator root : roots) { + sb.append(reverseDepthFirst(root)); + sb.append("\n"); + } + return sb.toString(); } - @Override - public void visit(LOSort op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - List<LogicalExpressionPlan> plans = op.getSortColPlans(); - LogicalExpressionVisitor v = null; - level++; - for( LogicalExpressionPlan plan : plans ) { - v = getVisitor(plan); - v.visit(); + private String reverseDepthFirst(Operator node) throws FrontendException, IOException { + String nodeString = printNode(node); + + List<Operator> originalSuccessors = plan.getSuccessors(node); + if (originalSuccessors == null) + return nodeString; + + StringBuffer sb = new StringBuffer(nodeString); + List<Operator> successors = new ArrayList<Operator>(originalSuccessors); + + int i = 0; + for (Operator succ : successors) { + i++; + String DFStr = reverseDepthFirst(succ); + if (DFStr != null) { + sb.append(LSep); + if (i < successors.size()) + sb.append(shiftStringByTabs(DFStr, 2)); + else + sb.append(shiftStringByTabs(DFStr, 1)); + } } - level--; + return sb.toString(); } - @Override - public void visit(LODistinct op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); + private String planString(OperatorPlan lp) throws VisitorException, IOException { + StringBuilder sb = new StringBuilder(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + PrintStream ps = new PrintStream(baos); + if(lp!=null) { + LogicalPlanPrinter printer = new LogicalPlanPrinter(lp, ps); + printer.visit(); + } + else + return ""; + sb.append(USep); + sb.append(shiftStringByTabs(baos.toString(), 2)); + return sb.toString(); } - @Override - public void visit(LOLimit op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); + private String printNode(Operator node) throws FrontendException, IOException { + StringBuilder sb = new StringBuilder(node.toString()+"\n"); + + if(node instanceof LOFilter){ + sb.append(planString(((LOFilter)node).getFilterPlan())); + } + else if(node instanceof LOForEach){ + sb.append(planString(((LOForEach)node).getInnerPlan())); + } + else if(node instanceof LOCogroup){ + MultiMap<Integer, LogicalExpressionPlan> plans = ((LOCogroup)node).getExpressionPlans(); + for (int i : plans.keySet()) { + // Visit the associated plans + for (OperatorPlan plan : plans.get(i)) { + sb.append(planString(plan)); + } + } + } + else if(node instanceof LOJoin){ + MultiMap<Integer, LogicalExpressionPlan> plans = ((LOJoin)node).getExpressionPlans(); + for (int i: plans.keySet()) { + // Visit the associated plans + for (OperatorPlan plan : plans.get(i)) { + sb.append(planString(plan)); + } + } + } + else if(node instanceof LOSort){ + for (OperatorPlan plan : ((LOSort)node).getSortColPlans()) + sb.append(planString(plan)); + } + else if(node instanceof LOSplitOutput){ + sb.append(planString(((LOSplitOutput)node).getFilterPlan())); + } + else if(node instanceof LOGenerate){ + for (OperatorPlan plan : ((LOGenerate)node).getOutputPlans()) { + sb.append(planString(plan)); + } + } + return sb.toString(); } - @Override - public void visit(LOStream op) throws FrontendException { - printLevel(); - stream.println( op.toString() ); - } - - public String toString() { - return stream.toString(); - } - - private void printLevel() { - for(int i =0; i < level; i++ ) { - stream.print("|\t"); - } - stream.println("|"); - for(int i =0; i < level; i++ ) { - stream.print("|\t"); + private String shiftStringByTabs(String DFStr, int TabType) { + StringBuilder sb = new StringBuilder(); + String[] spl = DFStr.split("\n"); + + String tab = (TabType == 1) ? TAB1 : TABMore; + + sb.append(spl[0] + "\n"); + for (int i = 1; i < spl.length; i++) { + sb.append(tab); + sb.append(spl[i]); + sb.append("\n"); } - stream.print("|---"); + return sb.toString(); } } + + Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/ProjectionPatcher.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/ProjectionPatcher.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/ProjectionPatcher.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/ProjectionPatcher.java Wed Sep 8 02:05:11 2010 @@ -39,7 +39,7 @@ import org.apache.pig.newplan.optimizer. public class ProjectionPatcher implements PlanTransformListener { /** - * @link org.apache.pig.experimental.plan.optimizer.PlanTransformListener#transformed(org.apache.pig.experimental.plan.OperatorPlan, org.apache.pig.experimental.plan.OperatorPlan) + * @link org.apache.pig.newplan.optimizer.PlanTransformListener#transformed(org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.OperatorPlan) */ @Override public void transformed(OperatorPlan fp, OperatorPlan tp) Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/SchemaPatcher.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/SchemaPatcher.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/SchemaPatcher.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/optimizer/SchemaPatcher.java Wed Sep 8 02:05:11 2010 @@ -32,7 +32,7 @@ public class SchemaPatcher implements Pl /** * @throws FrontendException - * @link org.apache.pig.experimental.plan.optimizer.PlanTransformListener#transformed(org.apache.pig.experimental.plan.OperatorPlan, org.apache.pig.experimental.plan.OperatorPlan) + * @link org.apache.pig.newplan.optimizer.PlanTransformListener#transformed(org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.OperatorPlan) */ @Override public void transformed(OperatorPlan fp, OperatorPlan tp) throws FrontendException { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LOLoad.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LOLoad.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LOLoad.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LOLoad.java Wed Sep 8 02:05:11 2010 @@ -141,7 +141,7 @@ public class LOLoad extends LogicalRelat Schema oldSchema = Schema.getPigSchema(resourceSchema); return Util.translateSchema(oldSchema); } catch (IOException e) { - throw new FrontendException("Cannot get schema from loadFunc " + loadFunc.getClass().getName(), 9999, e); + throw new FrontendException("Cannot get schema from loadFunc " + loadFunc.getClass().getName(), 2245, e); } } return null; Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java Wed Sep 8 02:05:11 2010 @@ -908,7 +908,7 @@ public class LogToPhyTranslationVisitor LogicalSchema s = ((LogicalRelationalOperator)op).getSchema(); // if the schema cannot be determined if (s == null) { - throw new FrontendException(); + throw new FrontendException("Cannot determine skewed join schema", 2247); } skj.addSchema(Util.translateSchema(s)); } catch (FrontendException e) { Modified: hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java?rev=993578&r1=993577&r2=993578&view=diff ============================================================================== --- hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java (original) +++ hadoop/pig/trunk/src/org/apache/pig/newplan/logical/relational/LogicalSchema.java Wed Sep 8 02:05:11 2010 @@ -326,7 +326,7 @@ public class LogicalSchema { if (DataType.isSchemaType(mergedType)) { mergedSubSchema = merge(fs1.schema, fs2.schema); if (mergedSubSchema==null) { - throw new FrontendException("Error merging schema " + fs1 + " and " + fs2, 9999); + throw new FrontendException("Error merging schema " + fs1 + " and " + fs2, 2246); } } LogicalFieldSchema mergedFS = new LogicalFieldSchema(mergedAlias, mergedSubSchema, mergedType);