org.apache.pig.newplan.logical.relational
Class LOGenerate

java.lang.Object
  extended by org.apache.pig.newplan.Operator
      extended by org.apache.pig.newplan.logical.relational.LogicalRelationalOperator
          extended by org.apache.pig.newplan.logical.relational.LOGenerate

public class LOGenerate
extends LogicalRelationalOperator


Field Summary
 
Fields inherited from class org.apache.pig.newplan.logical.relational.LogicalRelationalOperator
alias, lineNum, mCustomPartitioner, mPinnedOptions, requestedParallelism, schema
 
Fields inherited from class org.apache.pig.newplan.Operator
annotations, hashPrime, location, name, plan
 
Constructor Summary
LOGenerate(OperatorPlan plan)
           
LOGenerate(OperatorPlan plan, List<LogicalExpressionPlan> ps, boolean[] flatten)
           
 
Method Summary
 void accept(PlanVisitor v)
          Accept a visitor at this node in the graph.
 boolean[] getFlattenFlags()
           
 List<LogicalExpressionPlan> getOutputPlans()
           
 List<LogicalSchema> getOutputPlanSchemas()
          Get the output schema corresponding to each input expression plan
 LogicalSchema getSchema()
          Get the schema for the output of this relational operator.
 List<LogicalSchema> getUidOnlySchemas()
           
 List<LogicalSchema> getUserDefinedSchema()
           
 boolean isEqual(Operator other)
          This is like a shallow equals comparison.
 void resetSchema()
          Reset the schema to null so that the next time getSchema is called the schema will be regenerated from scratch.
 void resetUid()
          Erase all cached uid, regenerate uid when we regenerating schema.
 void setFlattenFlags(boolean[] flatten)
           
 void setOutputPlans(List<LogicalExpressionPlan> plans)
           
 void setOutputPlanSchemas(List<LogicalSchema> outputPlanSchemas)
           
 void setUidOnlySchemas(List<LogicalSchema> uidOnlySchemas)
           
 void setUserDefinedSchema(List<LogicalSchema> userDefinedSchema)
           
 String toString()
           
 
Methods inherited from class org.apache.pig.newplan.logical.relational.LogicalRelationalOperator
checkEquality, getAlias, getCustomPartitioner, getLineNumber, getRequestedParallelisam, isPinnedOption, neverUseForRealSetSchema, pinOption, setAlias, setCustomPartitioner, setRequestedParallelism, setSchema
 
Methods inherited from class org.apache.pig.newplan.Operator
annotate, getAnnotation, getLocation, getName, getPlan, removeAnnotation, setLocation, setPlan
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LOGenerate

public LOGenerate(OperatorPlan plan,
                  List<LogicalExpressionPlan> ps,
                  boolean[] flatten)

LOGenerate

public LOGenerate(OperatorPlan plan)
Method Detail

setOutputPlans

public void setOutputPlans(List<LogicalExpressionPlan> plans)

getSchema

public LogicalSchema getSchema()
                        throws FrontendException
Description copied from class: LogicalRelationalOperator
Get the schema for the output of this relational operator. This does not merely return the schema variable. If schema is not yet set, this will attempt to construct it. Therefore it is abstract since each operator will need to construct its schema differently.

Specified by:
getSchema in class LogicalRelationalOperator
Returns:
the schema
Throws:
FrontendException

getOutputPlans

public List<LogicalExpressionPlan> getOutputPlans()

getFlattenFlags

public boolean[] getFlattenFlags()

setFlattenFlags

public void setFlattenFlags(boolean[] flatten)

isEqual

public boolean isEqual(Operator other)
                throws FrontendException
Description copied from class: Operator
This is like a shallow equals comparison. It returns true if two operators have equivalent properties even if they are different objects. Here properties mean equivalent plan and equivalent name.

Specified by:
isEqual in class Operator
Returns:
true if two object have equivalent properties, else false
Throws:
FrontendException

accept

public void accept(PlanVisitor v)
            throws FrontendException
Description copied from class: Operator
Accept a visitor at this node in the graph.

Specified by:
accept in class Operator
Parameters:
v - Visitor to accept.
Throws:
FrontendException

toString

public String toString()
Overrides:
toString in class LogicalRelationalOperator

getUserDefinedSchema

public List<LogicalSchema> getUserDefinedSchema()

setUserDefinedSchema

public void setUserDefinedSchema(List<LogicalSchema> userDefinedSchema)

getOutputPlanSchemas

public List<LogicalSchema> getOutputPlanSchemas()
Get the output schema corresponding to each input expression plan

Returns:
list of output schemas

setOutputPlanSchemas

public void setOutputPlanSchemas(List<LogicalSchema> outputPlanSchemas)

getUidOnlySchemas

public List<LogicalSchema> getUidOnlySchemas()

setUidOnlySchemas

public void setUidOnlySchemas(List<LogicalSchema> uidOnlySchemas)

resetUid

public void resetUid()
Description copied from class: LogicalRelationalOperator
Erase all cached uid, regenerate uid when we regenerating schema. This process currently only used in ImplicitSplitInsert, which will insert split and invalidate some uids in plan

Overrides:
resetUid in class LogicalRelationalOperator

resetSchema

public void resetSchema()
Description copied from class: LogicalRelationalOperator
Reset the schema to null so that the next time getSchema is called the schema will be regenerated from scratch.

Overrides:
resetSchema in class LogicalRelationalOperator


Copyright © 2007-2012 The Apache Software Foundation