You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ga...@apache.org on 2008/07/01 22:33:42 UTC
svn commit: r673198 - in /incubator/pig/branches/types: src/org/apache/pig/
src/org/apache/pig/impl/logicalLayer/
src/org/apache/pig/impl/logicalLayer/parser/
src/org/apache/pig/impl/logicalLayer/validators/
src/org/apache/pig/impl/physicalLayer/expres...
Author: gates
Date: Tue Jul 1 13:33:41 2008
New Revision: 673198
URL: http://svn.apache.org/viewvc?rev=673198&view=rev
Log:
Fixed bugs in equal and notequal physical operators that were returning wrong results for numeric types. Added PlanSetter visitor that walks logical plan and
sets all the mPlan values to the final plan the operator is in.
Added:
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/PlanSetter.java
Modified:
incubator/pig/branches/types/src/org/apache/pig/PigServer.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCogroup.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCross.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LODistinct.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOFilter.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOProject.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOSort.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUnion.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LogicalOperator.java
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt
incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/validators/TypeCheckingVisitor.java
incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/EqualToExpr.java
incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/NotEqualToExpr.java
incubator/pig/branches/types/src/org/apache/pig/impl/plan/OperatorPlan.java
incubator/pig/branches/types/test/org/apache/pig/test/TestFilterOpNumeric.java
incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidator.java
incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java
incubator/pig/branches/types/test/org/apache/pig/test/utils/dotGraph/LogicalPlanLoader.java
Modified: incubator/pig/branches/types/src/org/apache/pig/PigServer.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/PigServer.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/PigServer.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/PigServer.java Tue Jul 1 13:33:41 2008
@@ -50,6 +50,7 @@
import org.apache.pig.impl.logicalLayer.LogicalPlan;
import org.apache.pig.impl.logicalLayer.LogicalPlanBuilder;
import org.apache.pig.impl.logicalLayer.LOPrinter;
+import org.apache.pig.impl.logicalLayer.PlanSetter;
import org.apache.pig.impl.logicalLayer.optimizer.LogicalOptimizer;
import org.apache.pig.impl.logicalLayer.parser.ParseException;
import org.apache.pig.impl.logicalLayer.parser.QueryParser;
@@ -481,6 +482,10 @@
throw new FrontendException("Cannot operate on null logical plan");
}
+ // Set the logical plan values correctly in all the operators
+ PlanSetter ps = new PlanSetter(lp);
+ ps.visit();
+
// run through validator
CompilationMessageCollector collector = new CompilationMessageCollector() ;
FrontendException caught = null;
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCogroup.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCogroup.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCogroup.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCogroup.java Tue Jul 1 13:33:41 2008
@@ -43,7 +43,6 @@
* operator. Each generate operator in turn contains a list of expressions
* for the columns that are projected
*/
- private ArrayList<LogicalOperator> mInputs;
private boolean[] mIsInner;
private static Log log = LogFactory.getLog(LOCogroup.class);
private MultiMap<LogicalOperator, LogicalPlan> mGroupByPlans;
@@ -54,22 +53,23 @@
* LogicalPlan this operator is a part of.
* @param k
* OperatorKey for this operator
- * @param inputs
- * List of input operators
* @param groupByPlans
* the group by columns
+ * @param isInner
+ * indicates whether the cogroup is inner for each relation
*/
- public LOCogroup(LogicalPlan plan, OperatorKey k,
- ArrayList<LogicalOperator> inputs,
- MultiMap<LogicalOperator, LogicalPlan> groupByPlans, boolean[] isInner) {
+ public LOCogroup(
+ LogicalPlan plan,
+ OperatorKey k,
+ MultiMap<LogicalOperator, LogicalPlan> groupByPlans,
+ boolean[] isInner) {
super(plan, k);
- mInputs = inputs;
mGroupByPlans = groupByPlans;
mIsInner = isInner;
}
public List<LogicalOperator> getInputs() {
- return mInputs;
+ return mPlan.getPredecessors(this);
}
public MultiMap<LogicalOperator, LogicalPlan> getGroupByPlans() {
@@ -92,7 +92,7 @@
@Override
public Schema getSchema() throws FrontendException {
- // TODO create schema
+ List<LogicalOperator> inputs = mPlan.getPredecessors(this);
/*
* Dumping my understanding of how the schema of a Group/CoGroup will
* look. The first field of the resulting tuple will have the alias
@@ -103,7 +103,7 @@
*/
if (!mIsSchemaComputed && (null == mSchema)) {
List<Schema.FieldSchema> fss = new ArrayList<Schema.FieldSchema>(
- mInputs.size() + 1);
+ inputs.size() + 1);
// one more to account for the "group"
// the alias of the first field is group and hence the
// string "group"
@@ -129,7 +129,7 @@
MultiMap<String, ExpressionOperator> aliasExop = new MultiMap<String, ExpressionOperator>();
MultiMap<Integer, String> positionAlias= new MultiMap<Integer, String>();
- for (LogicalOperator op : mInputs) {
+ for (LogicalOperator op : inputs) {
log.debug("GBY Input: " + op.getClass().getName());
for(LogicalPlan plan: mGroupByPlans.get(op)) {
int position = 0;
@@ -158,7 +158,7 @@
log.debug("Computed the lookup table");
- int arity = mGroupByPlans.get(mInputs.get(0)).size();
+ int arity = mGroupByPlans.get(inputs.get(0)).size();
log.debug("Arity: " + arity);
for (int i = 0; i < arity; ++i) {
Collection<String> cAliases;
@@ -235,7 +235,7 @@
} else {
fss.add(new Schema.FieldSchema("group", groupBySchema));
}
- for (LogicalOperator op : mInputs) {
+ for (LogicalOperator op : inputs) {
log.debug("Op: " + op.getClass().getName());
log.debug("Op Alias: " + op.getAlias());
try {
@@ -260,11 +260,12 @@
}
public boolean isTupleGroupCol() {
- if (mInputs == null || mInputs.size() == 0) {
+ List<LogicalOperator> inputs = mPlan.getPredecessors(this);
+ if (inputs == null || inputs.size() == 0) {
throw new AssertionError("COGroup.isTupleGroupCol() can be called "
+ "after it has an input only") ;
}
- return mGroupByPlans.get(mInputs.get(0)).size() > 1 ;
+ return mGroupByPlans.get(inputs.get(0)).size() > 1 ;
}
@Override
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCross.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCross.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCross.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOCross.java Tue Jul 1 13:33:41 2008
@@ -38,7 +38,6 @@
public class LOCross extends LogicalOperator {
private static final long serialVersionUID = 2L;
- private ArrayList<LogicalOperator> mInputs;
private static Log log = LogFactory.getLog(LOCross.class);
/**
@@ -48,29 +47,24 @@
* @param k
* Operator key to assign to this node.
*/
- public LOCross(LogicalPlan plan, OperatorKey k, ArrayList<LogicalOperator> inputs) {
-
+ public LOCross(LogicalPlan plan, OperatorKey k) {
super(plan, k);
- mInputs = inputs;
}
public List<LogicalOperator> getInputs() {
- return mInputs;
- }
-
- public void addInput(LogicalOperator input) {
- mInputs.add(input);
+ return mPlan.getPredecessors(this);
}
@Override
public Schema getSchema() throws FrontendException {
+ List<LogicalOperator> inputs = mPlan.getPredecessors(this);
if (!mIsSchemaComputed && (null == mSchema)) {
List<Schema.FieldSchema> fss = new ArrayList<Schema.FieldSchema>();
Map<Schema.FieldSchema, String> flattenAlias = new HashMap<Schema.FieldSchema, String>();
Map<String, Boolean> inverseFlattenAlias = new HashMap<String, Boolean>();
Map<String, Integer> aliases = new HashMap<String, Integer>();
- for (LogicalOperator op : mInputs) {
+ for (LogicalOperator op : inputs) {
String opAlias = op.getAlias();
Schema s = op.getSchema();
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LODistinct.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LODistinct.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LODistinct.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LODistinct.java Tue Jul 1 13:33:41 2008
@@ -34,7 +34,6 @@
public class LODistinct extends LogicalOperator {
private static final long serialVersionUID = 2L;
- private LogicalOperator mInput;
private static Log log = LogFactory.getLog(LODistinct.class);
/**
@@ -46,14 +45,13 @@
* @param input
* input over which distinct will be applied
*/
- public LODistinct(LogicalPlan plan, OperatorKey k, LogicalOperator input) {
+ public LODistinct(LogicalPlan plan, OperatorKey k) {
super(plan, k);
- mInput = input;
}
public LogicalOperator getInput() {
- return mInput;
+ return mPlan.getPredecessors(this).get(0);
}
@Override
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOFilter.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOFilter.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOFilter.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOFilter.java Tue Jul 1 13:33:41 2008
@@ -31,7 +31,6 @@
public class LOFilter extends LogicalOperator {
private static final long serialVersionUID = 2L;
- private LogicalOperator mInput;
private LogicalPlan mComparisonPlan;
private static Log log = LogFactory.getLog(LOFilter.class);
@@ -48,14 +47,13 @@
*/
public LOFilter(LogicalPlan plan, OperatorKey k,
- LogicalPlan comparisonPlan, LogicalOperator input) {
+ LogicalPlan comparisonPlan) {
super(plan, k);
mComparisonPlan = comparisonPlan;
- mInput = input;
}
public LogicalOperator getInput() {
- return mInput;
+ return mPlan.getPredecessors(this).get(0);
}
public LogicalPlan getComparisonPlan() {
@@ -65,10 +63,11 @@
@Override
public Schema getSchema() throws FrontendException {
if (!mIsSchemaComputed && (null == mSchema)) {
+ LogicalOperator input = mPlan.getPredecessors(this).get(0);
ArrayList<Schema.FieldSchema> fss = new ArrayList<Schema.FieldSchema>();
try {
- if(mInput instanceof ExpressionOperator) {
- Schema.FieldSchema fs = ((ExpressionOperator)mInput).getFieldSchema();
+ if(input instanceof ExpressionOperator) {
+ Schema.FieldSchema fs = ((ExpressionOperator)input).getFieldSchema();
if(DataType.isSchemaType(fs.type)) {
mSchema = fs.schema;
} else {
@@ -76,7 +75,7 @@
mSchema = new Schema(fss);
}
} else {
- mSchema = mInput.getSchema();
+ mSchema = input.getSchema();
}
mIsSchemaComputed = true;
} catch (FrontendException ioe) {
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOProject.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOProject.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOProject.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOProject.java Tue Jul 1 13:33:41 2008
@@ -204,8 +204,6 @@
//the type of the operator will be unknown. when type checking is in place
//add the type of the operator as a parameter to the fieldschema creation
mFieldSchema = new Schema.FieldSchema(expressionOperator.getAlias(), expressionOperator.getSchema(), DataType.TUPLE);
- mFieldSchema.canonicalName =
- CanonicalNamer.getNewName();
//mFieldSchema = new Schema.FieldSchema(expressionOperator.getAlias(), expressionOperator.getSchema());
}
} else {
@@ -238,13 +236,9 @@
mFieldSchema = s.getField(mProjection.get(0));
} else {
mFieldSchema = new Schema.FieldSchema(null, DataType.BYTEARRAY);
- mFieldSchema.canonicalName =
- CanonicalNamer.getNewName();
}
} else {
mFieldSchema = new Schema.FieldSchema(null, DataType.BYTEARRAY);
- mFieldSchema.canonicalName =
- CanonicalNamer.getNewName();
}
} else {
log.debug("Input is a logical operator");
@@ -256,8 +250,6 @@
log.debug("mFieldSchema schema: " + mFieldSchema.schema);
} else {
mFieldSchema = new Schema.FieldSchema(null, DataType.BYTEARRAY);
- mFieldSchema.canonicalName =
- CanonicalNamer.getNewName();
}
mType = mFieldSchema.type ;
}
@@ -304,7 +296,6 @@
throw new FrontendException(pe.getMessage());
}
mFieldSchema = new Schema.FieldSchema(expressionOperator.getAlias(), new Schema(fss));
- mFieldSchema.canonicalName = CanonicalNamer.getNewName();
mIsFieldSchemaComputed = true;
log.debug("mIsStar is false, returning computed field schema of expressionOperator");
}
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOSort.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOSort.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOSort.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOSort.java Tue Jul 1 13:33:41 2008
@@ -34,7 +34,6 @@
public class LOSort extends LogicalOperator {
private static final long serialVersionUID = 2L;
- private LogicalOperator mInput;
private List<Boolean> mAscCols;
private String mSortFunc;
private boolean mIsStar = false;
@@ -60,19 +59,17 @@
public LOSort(
LogicalPlan plan,
OperatorKey key,
- LogicalOperator input,
List<LogicalPlan> sortColPlans,
List<Boolean> ascCols,
String sortFunc) {
super(plan, key);
- mInput = input;
mSortColPlans = sortColPlans;
mAscCols = ascCols;
mSortFunc = sortFunc;
}
public LogicalOperator getInput() {
- return mInput;
+ return mPlan.getPredecessors(this).get(0);
}
public List<LogicalPlan> getSortColPlans() {
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUnion.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUnion.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUnion.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LOUnion.java Tue Jul 1 13:33:41 2008
@@ -32,7 +32,6 @@
public class LOUnion extends LogicalOperator {
private static final long serialVersionUID = 2L;
- private ArrayList<LogicalOperator> mInputs;
private static Log log = LogFactory.getLog(LOUnion.class);
/**
@@ -43,20 +42,14 @@
* @param inputs
* List of operators that are input to the union
*/
- public LOUnion(LogicalPlan plan, OperatorKey k,
- ArrayList<LogicalOperator> inputs) {
+ public LOUnion(LogicalPlan plan, OperatorKey k) {
super(plan, k);
- mInputs = inputs;
}
public List<LogicalOperator> getInputs() {
- return mInputs;
+ return mPlan.getPredecessors(this);
}
- public void addInput(LogicalOperator input) {
- mInputs.add(input);
- }
-
@Override
public Schema getSchema() throws FrontendException {
if (!mIsSchemaComputed && (null == mSchema)) {
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LogicalOperator.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LogicalOperator.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LogicalOperator.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/LogicalOperator.java Tue Jul 1 13:33:41 2008
@@ -252,6 +252,14 @@
return mPlan ;
}
+ /**
+ * Change the reference to the plan for this operator. Don't use this
+ * unless you're sure you know what you're doing.
+ */
+ public void setPlan(LogicalPlan plan) {
+ mPlan = plan;
+ }
+
/***
* IMPORTANT:
Added: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/PlanSetter.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/PlanSetter.java?rev=673198&view=auto
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/PlanSetter.java (added)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/PlanSetter.java Tue Jul 1 13:33:41 2008
@@ -0,0 +1,183 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pig.impl.logicalLayer;
+
+import org.apache.pig.impl.plan.DepthFirstWalker;
+import org.apache.pig.impl.plan.VisitorException;
+
+/**
+ * A visitor to set plans correctly inside logical operators. When a logical
+ * operator is constructed, it is passed the plan value that is currently
+ * being used. However, once a single plan is stitched together, these
+ * references are no longer useful. However, there are a number of places
+ * that it is useful to be able to refer to the correct plan. So this visitor
+ * walks the final plan and sets the mCurrentWalker.getPlan() values in LogicalOperator
+ * appropriately. Note that some operators can be in multiple plans (such as
+ * inside a foreach). In this case the mCurrentWalker.getPlan() value will be for one of the
+ * plans. Which one is not guaranteed.
+ */
+public class PlanSetter extends LOVisitor {
+
+ public PlanSetter(LogicalPlan plan) {
+ super(plan, new DepthFirstWalker<LogicalOperator, LogicalPlan>(plan));
+ }
+
+ public void visit(LOAdd op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOAnd op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOBinCond op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOCast op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOCogroup op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ super.visit(op);
+ }
+
+ public void visit(LOConst op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOCross op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LODistinct op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LODivide op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOEqual op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOFilter op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ super.visit(op);
+ }
+
+ public void visit(LOForEach op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ super.visit(op);
+ }
+
+ public void visit(LOGreaterThan op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOGreaterThanEqual op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOIsNull op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOLesserThan op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOLesserThanEqual op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOLoad op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOMapLookup op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOMod op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOMultiply op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LONegative op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LONot op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LONotEqual op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOOr op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOProject op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LORegexp op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOSort op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ super.visit(op);
+ }
+
+ public void visit(LOSplit op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ super.visit(op);
+ }
+
+ public void visit(LOSplitOutput op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ super.visit(op);
+ }
+
+ public void visit(LOStore op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOSubtract op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOUnion op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+ public void visit(LOUserFunc op) throws VisitorException {
+ op.setPlan(mCurrentWalker.getPlan());
+ }
+
+}
+
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/parser/QueryParser.jjt Tue Jul 1 13:33:41 2008
@@ -195,7 +195,7 @@
isInner[i] = gi.isInner;
}
- LogicalOperator cogroup = new LOCogroup(lp, new OperatorKey(scope, getNextId()), los, groupByPlans, isInner);
+ LogicalOperator cogroup = new LOCogroup(lp, new OperatorKey(scope, getNextId()), groupByPlans, isInner);
lp.add(cogroup);
log.debug("Added operator " + cogroup.getClass().getName() + " object " + cogroup + " to the logical plan " + lp);
@@ -655,7 +655,7 @@
| (<ORDER> op = OrderClause(lp))
| (<DISTINCT> op = NestedExpr(lp)
{
- LogicalOperator distinct = new LODistinct(lp, new OperatorKey(scope, getNextId()), op);
+ LogicalOperator distinct = new LODistinct(lp, new OperatorKey(scope, getNextId()));
lp.add(distinct);
log.debug("Added operator: " + distinct.getClass().getName() + " to the logical plan");
lp.connect(op, distinct);
@@ -741,7 +741,8 @@
<BY> cond = PCond(input.getSchema(),null,conditionPlan,input)
)
{
- LogicalOperator filter = new LOFilter(lp, new OperatorKey(scope, getNextId()), conditionPlan, input);
+ //LogicalOperator filter = new LOFilter(lp, new OperatorKey(scope, getNextId()), conditionPlan, input);
+ LogicalOperator filter = new LOFilter(lp, new OperatorKey(scope, getNextId()), conditionPlan);
addAlias(input.getAlias(), input);
lp.add(filter);
log.debug("Added operator " + filter.getClass().getName() + " to the logical plan");
@@ -1116,7 +1117,7 @@
)
{
- LOSort sort = new LOSort(lp, new OperatorKey(scope, getNextId()), op, sortColPlans, ascOrder, funcName);
+ LOSort sort = new LOSort(lp, new OperatorKey(scope, getNextId()), sortColPlans, ascOrder, funcName);
sort.setStar(star);
lp.add(sort);
log.debug("Added operator " + sort.getClass().getName() + " to the logical plan");
@@ -1204,7 +1205,7 @@
("," op = NestedExpr(lp) { inputs.add(op); })*
)
{
- LogicalOperator cross = new LOCross(lp, new OperatorKey(scope, getNextId()), inputs);
+ LogicalOperator cross = new LOCross(lp, new OperatorKey(scope, getNextId()));
lp.add(cross);
log.debug("Added operator " + cross.getClass().getName() + " to the logical plan");
@@ -1243,7 +1244,7 @@
(op = NestedExpr(lp){inputs.add(op);}
("," op = NestedExpr(lp) {inputs.add(op);})*)
{
- LogicalOperator union = new LOUnion(lp, new OperatorKey(scope, getNextId()), inputs);
+ LogicalOperator union = new LOUnion(lp, new OperatorKey(scope, getNextId()));
lp.add(union);
log.debug("Added operator " + union.getClass().getName() + " to the logical plan");
@@ -1411,7 +1412,8 @@
{
lp.add(eOp);
log.debug("Added " + eOp.getAlias() + " to the logical plan");
- LogicalOperator filter = new LOFilter(lp, new OperatorKey(scope, getNextId()), conditionPlan, eOp);
+ //LogicalOperator filter = new LOFilter(lp, new OperatorKey(scope, getNextId()), conditionPlan, eOp);
+ LogicalOperator filter = new LOFilter(lp, new OperatorKey(scope, getNextId()), conditionPlan);
lp.add(filter);
log.debug("Added nested filter operator " + filter.getClass().getName() + " to the logical plan");
@@ -1464,7 +1466,7 @@
)
{
log.debug("Before creating LOSort");
- LOSort sort = new LOSort(lp, new OperatorKey(scope, getNextId()), eOp, sortColPlans, ascOrder, funcName);
+ LOSort sort = new LOSort(lp, new OperatorKey(scope, getNextId()), sortColPlans, ascOrder, funcName);
sort.setStar(star);
log.debug("After creating LOSort");
try {
@@ -1502,7 +1504,7 @@
{
lp.add(eOp);
log.debug("Added " + eOp.getAlias() + " to the logical plan");
- LogicalOperator distinct = new LODistinct(lp, new OperatorKey(scope, getNextId()), eOp);
+ LogicalOperator distinct = new LODistinct(lp, new OperatorKey(scope, getNextId()));
lp.add(distinct);
log.debug("Added operator " + distinct.getClass().getName() + " to the logical plan");
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/validators/TypeCheckingVisitor.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/validators/TypeCheckingVisitor.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/validators/TypeCheckingVisitor.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/logicalLayer/validators/TypeCheckingVisitor.java Tue Jul 1 13:33:41 2008
@@ -18,9 +18,12 @@
package org.apache.pig.impl.logicalLayer.validators;
-import java.util.Iterator;
-import java.util.List ;
import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Stack;
import org.apache.pig.impl.logicalLayer.LOConst;
import org.apache.pig.impl.logicalLayer.LogicalOperator;
@@ -1338,7 +1341,10 @@
@Override
protected void visit(LOUnion u) throws VisitorException {
- List<LogicalOperator> inputs = u.getInputs() ;
+ // Have to make a copy, because as we insert operators, this list will
+ // change under us.
+ List<LogicalOperator> inputs =
+ new ArrayList<LogicalOperator>(u.getInputs());
// There is no point to union only one operand
// it should be a problem in the parser
@@ -1401,8 +1407,6 @@
}
}
}
-
-
}
@Override
@@ -1512,7 +1516,6 @@
vse.initCause(fe) ;
throw vse ;
}
-
}
/***
@@ -1521,7 +1524,6 @@
*/
protected void visit(LOSort s) throws VisitorException {
-
LogicalOperator input = s.getInput() ;
// Type checking internal plans.
@@ -1563,7 +1565,6 @@
@Override
protected void visit(LOFilter filter) throws VisitorException {
-
LogicalOperator input = filter.getInput() ;
LogicalPlan comparisonPlan = filter.getComparisonPlan() ;
@@ -1595,7 +1596,6 @@
vse.initCause(ioe) ;
throw vse ;
}
-
}
/***
@@ -1603,7 +1603,6 @@
*/
protected void visit(LOSplit split) throws VisitorException {
-
// TODO: Why doesn't LOSplit have getInput() ???
List<LogicalOperator> inputList = mPlan.getPredecessors(split) ;
@@ -1632,7 +1631,6 @@
* same type
*/
protected void visit(LOCogroup cg) throws VisitorException {
-
MultiMap<LogicalOperator, LogicalPlan> groupByPlans
= cg.getGroupByPlans() ;
List<LogicalOperator> inputs = cg.getInputs() ;
@@ -1790,9 +1788,6 @@
vse.initCause(pe) ;
throw vse ;
}
-
-
-
}
@@ -1929,7 +1924,6 @@
*/
protected void visit(LOForEach g) throws VisitorException {
-
List<LogicalPlan> plans = g.getForEachPlans() ;
List<Boolean> flattens = g.getFlatten() ;
@@ -2032,7 +2026,6 @@
vse.initCause(pe) ;
throw vse ;
}
-
}
/***
@@ -2313,5 +2306,4 @@
return new OperatorKey(scope, newId) ;
}
-
}
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/EqualToExpr.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/EqualToExpr.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/EqualToExpr.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/EqualToExpr.java Tue Jul 1 13:33:41 2008
@@ -118,7 +118,7 @@
}
right = (Double) res.result;
- if (left == right) {
+ if (left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
@@ -154,7 +154,7 @@
}
right = (Float) res.result;
- if (left == right) {
+ if (left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
@@ -190,7 +190,7 @@
}
right = (Integer) res.result;
- if (left == right) {
+ if (left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
@@ -226,7 +226,7 @@
}
right = (Long) res.result;
- if (left == right) {
+ if (left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/NotEqualToExpr.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/NotEqualToExpr.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/NotEqualToExpr.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/physicalLayer/expressionOperators/NotEqualToExpr.java Tue Jul 1 13:33:41 2008
@@ -118,7 +118,7 @@
}
right = (Double) res.result;
- if (left != right) {
+ if (!left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
@@ -154,7 +154,7 @@
}
right = (Float) res.result;
- if (left != right) {
+ if (!left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
@@ -190,7 +190,7 @@
}
right = (Integer) res.result;
- if (left != right) {
+ if (!left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
@@ -226,7 +226,7 @@
}
right = (Long) res.result;
- if (left != right) {
+ if (!left.equals(right)) {
res.result = new Boolean(true);
//left = right = null;
Modified: incubator/pig/branches/types/src/org/apache/pig/impl/plan/OperatorPlan.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/src/org/apache/pig/impl/plan/OperatorPlan.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/src/org/apache/pig/impl/plan/OperatorPlan.java (original)
+++ incubator/pig/branches/types/src/org/apache/pig/impl/plan/OperatorPlan.java Tue Jul 1 13:33:41 2008
@@ -17,6 +17,7 @@
*/
package org.apache.pig.impl.plan;
+import java.io.PrintStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
@@ -112,15 +113,6 @@
}
/**
- * Get the map of operators and associated operator keys
- * @return map of operator and operator keys.
- */
- /*
- public Map<E, OperatorKey> getOps() {
- return mOps;
- }
- */
- /**
* Insert an operator into the plan. This only inserts it as a node in
* the graph, it does not connect it to any other operators. That should
* be done as a separate step using connect.
@@ -366,4 +358,25 @@
connect(newNode, before);
}
+ public void dump(PrintStream ps) {
+ ps.println("Ops");
+ for (E op : mOps.keySet()) {
+ ps.println(op.name());
+ }
+ ps.println("from edges");
+ for (E op : mFromEdges.keySet()) {
+ for (E to : mFromEdges.get(op)) {
+ ps.println(op.name() + " -> " + to.name());
+ }
+ }
+ ps.println("to edges");
+ for (E op : mToEdges.keySet()) {
+ for (E to : mToEdges.get(op)) {
+ ps.println(op.name() + " -> " + to.name());
+ }
+ }
+ }
+
+
+
}
Modified: incubator/pig/branches/types/test/org/apache/pig/test/TestFilterOpNumeric.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/test/org/apache/pig/test/TestFilterOpNumeric.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/test/org/apache/pig/test/TestFilterOpNumeric.java (original)
+++ incubator/pig/branches/types/test/org/apache/pig/test/TestFilterOpNumeric.java Tue Jul 1 13:33:41 2008
@@ -196,7 +196,7 @@
}
}
ps.close();
- pig.registerQuery("A=load 'file:" + tmpFile + "' using " + PigStorage.class.getName() + "(':');");
+ pig.registerQuery("A=load 'file:" + tmpFile + "' using " + PigStorage.class.getName() + "(':') as (a: double, b:double);");
String query = "A = filter A by $0 < $1;";
log.info(query);
@@ -258,7 +258,7 @@
}
}
ps.close();
- pig.registerQuery("A=load 'file:" + tmpFile + "' using " + PigStorage.class.getName() + "(':');");
+ pig.registerQuery("A=load 'file:" + tmpFile + "' using " + PigStorage.class.getName() + "(':') as (a: double, b:double);");
String query = "A = filter A by $0 <= $1;";
log.info(query);
Modified: incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidator.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidator.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidator.java (original)
+++ incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidator.java Tue Jul 1 13:33:41 2008
@@ -839,7 +839,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOUnion union = new LOUnion(plan, genNewOperatorKey(), inputList) ;
+ LOUnion union = new LOUnion(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -959,7 +959,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOUnion union = new LOUnion(plan, genNewOperatorKey(), inputList) ;
+ LOUnion union = new LOUnion(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -1124,7 +1124,7 @@
// create union operator
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
- LODistinct distinct1 = new LODistinct(plan, genNewOperatorKey(), load1) ;
+ LODistinct distinct1 = new LODistinct(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -1202,7 +1202,7 @@
innerPlan.connect(project2, gt1) ;
// filter
- LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan, load1) ;
+ LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan) ;
plan.add(load1);
plan.add(filter1);
@@ -1269,7 +1269,7 @@
innerPlan.connect(project2, add1) ;
// filter
- LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan, load1) ;
+ LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan) ;
plan.add(load1);
plan.add(filter1);
@@ -1345,7 +1345,7 @@
ascList.add(true);
// Sort
- LOSort sort1 = new LOSort(plan, genNewOperatorKey(), load1, innerPlans, ascList, null) ;
+ LOSort sort1 = new LOSort(plan, genNewOperatorKey(), innerPlans, ascList, null) ;
plan.add(load1);
@@ -1443,7 +1443,7 @@
ascList.add(true);
// Sort
- LOSort sort1 = new LOSort(plan, genNewOperatorKey(), load1, innerPlans, ascList, null) ;
+ LOSort sort1 = new LOSort(plan, genNewOperatorKey(), innerPlans, ascList, null) ;
plan.add(load1);
@@ -1541,7 +1541,7 @@
ascList.add(true);
// Sort
- LOSort sort1 = new LOSort(plan, genNewOperatorKey(), load1, innerPlans, ascList, null) ;
+ LOSort sort1 = new LOSort(plan, genNewOperatorKey(), innerPlans, ascList, null) ;
plan.add(load1);
@@ -1921,7 +1921,6 @@
LOCogroup cogroup1 = new LOCogroup(plan,
genNewOperatorKey(),
- inputs,
maps,
isInner) ;
@@ -2065,7 +2064,6 @@
LOCogroup cogroup1 = new LOCogroup(plan,
genNewOperatorKey(),
- inputs,
maps,
isInner) ;
@@ -2193,7 +2191,6 @@
LOCogroup cogroup1 = new LOCogroup(plan,
genNewOperatorKey(),
- inputs,
maps,
isInner) ;
@@ -2657,7 +2654,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOCross cross = new LOCross(plan, genNewOperatorKey(), inputList) ;
+ LOCross cross = new LOCross(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
Modified: incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java (original)
+++ incubator/pig/branches/types/test/org/apache/pig/test/TestTypeCheckingValidatorNoSchema.java Tue Jul 1 13:33:41 2008
@@ -56,7 +56,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOUnion union = new LOUnion(plan, genNewOperatorKey(), inputList) ;
+ LOUnion union = new LOUnion(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -101,7 +101,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOUnion union = new LOUnion(plan, genNewOperatorKey(), inputList) ;
+ LOUnion union = new LOUnion(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -335,7 +335,7 @@
// create union operator
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
- LODistinct distinct1 = new LODistinct(plan, genNewOperatorKey(), load1) ;
+ LODistinct distinct1 = new LODistinct(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -410,7 +410,7 @@
ascList.add(true);
// Sort
- LOSort sort1 = new LOSort(plan, genNewOperatorKey(), load1, innerPlans, ascList, null) ;
+ LOSort sort1 = new LOSort(plan, genNewOperatorKey(), innerPlans, ascList, null) ;
plan.add(load1);
@@ -476,7 +476,7 @@
innerPlan.connect(const1, gt1) ;
// filter
- LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan, load1) ;
+ LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan) ;
plan.add(load1);
plan.add(filter1);
@@ -542,7 +542,7 @@
innerPlan.connect(const1, gt1) ;
// filter
- LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan, load1) ;
+ LOFilter filter1 = new LOFilter(plan, genNewOperatorKey(), innerPlan) ;
plan.add(load1);
plan.add(filter1);
@@ -595,7 +595,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOCross cross = new LOCross(plan, genNewOperatorKey(), inputList) ;
+ LOCross cross = new LOCross(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -637,7 +637,7 @@
ArrayList<LogicalOperator> inputList = new ArrayList<LogicalOperator>() ;
inputList.add(load1) ;
inputList.add(load2) ;
- LOCross cross = new LOCross(plan, genNewOperatorKey(), inputList) ;
+ LOCross cross = new LOCross(plan, genNewOperatorKey()) ;
// wiring
plan.add(load1) ;
@@ -729,7 +729,6 @@
LOCogroup cogroup1 = new LOCogroup(plan,
genNewOperatorKey(),
- inputs,
maps,
isInner) ;
@@ -864,7 +863,6 @@
LOCogroup cogroup1 = new LOCogroup(plan,
genNewOperatorKey(),
- inputs,
maps,
isInner) ;
Modified: incubator/pig/branches/types/test/org/apache/pig/test/utils/dotGraph/LogicalPlanLoader.java
URL: http://svn.apache.org/viewvc/incubator/pig/branches/types/test/org/apache/pig/test/utils/dotGraph/LogicalPlanLoader.java?rev=673198&r1=673197&r2=673198&view=diff
==============================================================================
--- incubator/pig/branches/types/test/org/apache/pig/test/utils/dotGraph/LogicalPlanLoader.java (original)
+++ incubator/pig/branches/types/test/org/apache/pig/test/utils/dotGraph/LogicalPlanLoader.java Tue Jul 1 13:33:41 2008
@@ -100,20 +100,20 @@
}
private LOFilter createLOFilter(DotNode node, LogicalPlan plan) {
- LOFilter filter = new LOFilter(plan, getKey(node.attributes), null, null) ;
+ LOFilter filter = new LOFilter(plan, getKey(node.attributes), null) ;
fillSchema(filter, node.attributes) ;
return filter ;
}
private LODistinct createLODistinct(DotNode node, LogicalPlan plan) {
- LODistinct distinct = new LODistinct(plan, getKey(node.attributes), null) ;
+ LODistinct distinct = new LODistinct(plan, getKey(node.attributes)) ;
fillSchema(distinct, node.attributes) ;
return distinct ;
}
private LOSort createLOSort(DotNode node, LogicalPlan plan) {
LOSort sort = new LOSort(plan, getKey(node.attributes),
- null, null, null, "") ;
+ null, null, "") ;
fillSchema(sort, node.attributes) ;
return sort ;
}
@@ -139,19 +139,19 @@
private LOCogroup createLOCogroup(DotNode node, LogicalPlan plan) {
LOCogroup cogroup = new LOCogroup(plan, getKey(node.attributes),
- null, null, null) ;
+ null, null) ;
fillSchema(cogroup, node.attributes) ;
return cogroup ;
}
private LOUnion createLOUnion(DotNode node, LogicalPlan plan) {
- LOUnion union = new LOUnion(plan, getKey(node.attributes), null) ;
+ LOUnion union = new LOUnion(plan, getKey(node.attributes)) ;
fillSchema(union, node.attributes) ;
return union ;
}
private LOCross createLOCross(DotNode node, LogicalPlan plan) {
- LOCross cross = new LOCross(plan, getKey(node.attributes), null) ;
+ LOCross cross = new LOCross(plan, getKey(node.attributes)) ;
fillSchema(cross, node.attributes) ;
return cross ;
}