public class NamedExprsManager extends Object
evaluated state means that upper logical operators can access this expression like a column
reference. For it, the reference name is used to access this expression like a column reference,
The evaluated state is set with an EvalNode which is an annotated expression.
getTarget(String) returns EvalNodes by a reference name.| Modifier and Type | Class and Description |
|---|---|
class |
NamedExprsManager.UnevaluatedIterator |
| Constructor and Description |
|---|
NamedExprsManager(LogicalPlan plan,
LogicalPlan.QueryBlock block) |
| Modifier and Type | Method and Description |
|---|---|
String |
addExpr(Expr expr)
Adds an expression and returns a reference name.
|
String |
addExpr(Expr expr,
String alias)
Adds an expression with an alias name and returns a reference name.
|
String |
addNamedExpr(NamedExpr namedExpr)
Adds an expression and returns a reference name.
|
String[] |
addNamedExprArray(Collection<NamedExpr> namedExprs)
Adds a list of expressions and returns a list of reference names.
|
String |
checkAndGetIfAliasedColumn(String name)
It returns an original column name if it is aliased column reference.
|
boolean |
contains(Expr expr) |
boolean |
contains(String name) |
String |
getAlias(String originalName) |
Collection<NamedExpr> |
getAllNamedExprs() |
Iterator<NamedExpr> |
getIteratorForUnevaluatedExprs()
It returns an iterator for unevaluated NamedExprs.
|
NamedExpr |
getNamedExpr(String name) |
String |
getOriginalName(String aliasName) |
Target |
getTarget(String name) |
Target |
getTarget(String referenceName,
boolean unevaluatedForm)
get a Target instance.
|
boolean |
isAliased(String name) |
boolean |
isAliasedName(String aliasName) |
boolean |
isEvaluated(String name)
Check whether the expression corresponding to a given name was evaluated.
|
void |
markAsEvaluated(String referenceName,
EvalNode evalNode)
It marks the expression identified by the reference name as
evaluated. |
String |
toString() |
public NamedExprsManager(LogicalPlan plan, LogicalPlan.QueryBlock block)
public boolean isEvaluated(String name)
name - The name of a certain expression to be checkedpublic boolean contains(String name)
public boolean contains(Expr expr)
public boolean isAliased(String name)
public boolean isAliasedName(String aliasName)
public String addExpr(Expr expr) throws PlanningException
PlanningExceptionpublic String addExpr(Expr expr, String alias) throws PlanningException
PlanningExceptionpublic String addNamedExpr(NamedExpr namedExpr) throws PlanningException
PlanningExceptionpublic String[] addNamedExprArray(@Nullable Collection<NamedExpr> namedExprs) throws PlanningException
PlanningExceptionpublic Collection<NamedExpr> getAllNamedExprs()
public void markAsEvaluated(String referenceName, EvalNode evalNode) throws PlanningException
evaluated.
In addition, it adds an EvanNode for the expression identified by the reference.referenceName - The reference name to be marked as 'evaluated'.evalNode - EvalNode to be added.PlanningExceptionpublic String checkAndGetIfAliasedColumn(String name)
public Target getTarget(String referenceName, boolean unevaluatedForm)
FieldEval
(i.e., a column reference). Otherwise, it returns the original EvalNode of the expression.referenceName - The reference name to get EvalNodeunevaluatedForm - If TRUE, it always return the annotated EvalNode of the expression.Copyright © 2015 Apache Software Foundation. All Rights Reserved.