public abstract class LogicalExpression extends Operator
Modifier and Type | Field and Description |
---|---|
protected LogicalSchema.LogicalFieldSchema |
fieldSchema |
protected LogicalSchema.LogicalFieldSchema |
uidOnlyFieldSchema |
Constructor and Description |
---|
LogicalExpression(java.lang.String name,
OperatorPlan plan) |
Modifier and Type | Method and Description |
---|---|
abstract 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.
|
abstract LogicalSchema.LogicalFieldSchema |
getFieldSchema()
Get the field schema for the output of this expression operator.
|
static long |
getNextUid() |
byte |
getType()
Get the data type for this expression.
|
boolean |
hasFieldSchema()
This is a convenience method to avoid the side-effectful nature of getFieldSchema().
|
void |
neverUseForRealSetFieldSchema(LogicalSchema.LogicalFieldSchema fs) |
void |
resetFieldSchema() |
static void |
resetNextUid() |
void |
resetUid()
Erase all cached uid, regenerate uid when we regenerating schema.
|
java.lang.String |
toString() |
accept, annotate, getAnnotation, getLocation, getName, getPlan, isEqual, removeAnnotation, setLocation, setPlan
protected LogicalSchema.LogicalFieldSchema fieldSchema
protected LogicalSchema.LogicalFieldSchema uidOnlyFieldSchema
public LogicalExpression(java.lang.String name, OperatorPlan plan)
name
- of the operatorplan
- LogicalExpressionPlan this is part ofpublic static long getNextUid()
public static void resetNextUid()
public boolean hasFieldSchema()
public abstract LogicalSchema.LogicalFieldSchema getFieldSchema() throws FrontendException
FrontendException
public void resetFieldSchema()
public byte getType() throws FrontendException
FrontendException
public java.lang.String toString()
toString
in class java.lang.Object
public void neverUseForRealSetFieldSchema(LogicalSchema.LogicalFieldSchema fs) throws FrontendException
FrontendException
public abstract LogicalExpression deepCopy(LogicalExpressionPlan lgExpPlan) throws FrontendException
lgExpPlan
- LogicalExpressionPlan in which this expression will be added.IOException.
FrontendException
public void resetUid()
Copyright © 2007-2017 The Apache Software Foundation