public class ProjectExpression extends ColumnExpression
fieldSchema, uidOnlyFieldSchema| Constructor and Description |
|---|
ProjectExpression(OperatorPlan plan,
int inputNum,
int colNum,
LogicalRelationalOperator attachedRelationalOp)
Adds projection to the plan.
|
ProjectExpression(OperatorPlan plan,
int inputNum,
LogicalRelationalOperator attachedRelationalOp)
Constructor for range projection
Adds projection to the plan.
|
ProjectExpression(OperatorPlan plan,
int inputNum,
String alias,
Operator projectedOp,
LogicalRelationalOperator attachedRelationalOp)
Adds projection to the plan.
|
ProjectExpression(ProjectExpression projExpr,
OperatorPlan plan)
like a copy constructor, but with a plan argument
|
| Modifier and Type | Method and Description |
|---|---|
void |
accept(PlanVisitor v)
Accept a visitor at this node in the graph.
|
LogicalExpression |
deepCopy(LogicalExpressionPlan lgExpPlan)
Create the deep copy of this expression and add that into the passed
LogicalExpressionPlan Return the copy of this expression with updated
logical expression plan.
|
LogicalRelationalOperator |
findReferent()
Find the LogicalRelationalOperator that this projection refers to.
|
LogicalRelationalOperator |
getAttachedRelationalOp() |
String |
getColAlias() |
int |
getColNum()
Column number this project references.
|
int |
getEndCol() |
LogicalSchema.LogicalFieldSchema |
getFieldSchema()
Get the field schema for the output of this expression operator.
|
int |
getInputNum()
Input number this project references.
|
Operator |
getProjectedOperator() |
int |
getStartCol() |
byte |
getType()
Get the data type for this expression.
|
boolean |
isEqual(Operator other)
This is like a shallow equals comparison.
|
boolean |
isProjectStar() |
boolean |
isRangeOrStarProject() |
boolean |
isRangeProject() |
void |
setAttachedRelationalOp(LogicalRelationalOperator attachedRelationalOp) |
void |
setColNum(int colNum)
Set the column number for this project.
|
void |
setColumnNumberFromAlias()
If there is an alias, finds the column number from it.
|
void |
setEndAlias(String endAlias) |
void |
setEndCol(int endCol) |
void |
setInputNum(int inputNum) |
void |
setStartAlias(String startAlias) |
void |
setStartCol(int startCol) |
String |
toString() |
getNextUid, hasFieldSchema, neverUseForRealSetFieldSchema, resetFieldSchema, resetNextUid, resetUidannotate, getAnnotation, getLocation, getName, getPlan, removeAnnotation, setLocation, setPlanpublic ProjectExpression(OperatorPlan plan, int inputNum, int colNum, LogicalRelationalOperator attachedRelationalOp)
plan - LogicalExpressionPlan this projection will be a part ofinputNum - Input number this project references.colNum - Column number this project references.attachedRelationalOp - public ProjectExpression(OperatorPlan plan, int inputNum, String alias, Operator projectedOp, LogicalRelationalOperator attachedRelationalOp)
plan - inputNum - alias - attachedRelationalOp - FrontendExceptionpublic ProjectExpression(OperatorPlan plan, int inputNum, LogicalRelationalOperator attachedRelationalOp)
plan - inputNum - attachedRelationalOp - public ProjectExpression(ProjectExpression projExpr, OperatorPlan plan)
projExpr - plan - public void setColumnNumberFromAlias()
throws FrontendException
FrontendException - if there is no such aliaspublic void accept(PlanVisitor v) throws FrontendException
Operatoraccept in class Operatorv - Visitor to accept.FrontendExceptionpublic int getInputNum()
public void setInputNum(int inputNum)
public int getColNum()
public String getColAlias()
public Operator getProjectedOperator()
public void setColNum(int colNum)
colNum - new column number for projectionpublic boolean isProjectStar()
public boolean isRangeProject()
public boolean isRangeOrStarProject()
public LogicalSchema.LogicalFieldSchema getFieldSchema() throws FrontendException
LogicalExpressiongetFieldSchema in class LogicalExpressionFrontendExceptionpublic LogicalRelationalOperator findReferent() throws FrontendException
FrontendExceptionpublic boolean isEqual(Operator other) throws FrontendException
OperatorisEqual in class OperatorFrontendExceptionpublic String toString()
toString in class LogicalExpressionpublic LogicalRelationalOperator getAttachedRelationalOp()
public void setAttachedRelationalOp(LogicalRelationalOperator attachedRelationalOp)
public byte getType()
throws FrontendException
LogicalExpressiongetType in class LogicalExpressionFrontendExceptionpublic int getStartCol()
public void setStartCol(int startCol)
startCol - the startCol to setpublic int getEndCol()
public void setEndCol(int endCol)
endCol - the endCol to setpublic void setStartAlias(String startAlias) throws FrontendException
startAlias - FrontendExceptionpublic void setEndAlias(String endAlias) throws FrontendException
endAlias - FrontendExceptionpublic LogicalExpression deepCopy(LogicalExpressionPlan lgExpPlan) throws FrontendException
LogicalExpressiondeepCopy in class LogicalExpressionlgExpPlan - LogicalExpressionPlan in which this expression will be added.FrontendExceptionCopyright © 2007-2017 The Apache Software Foundation