public class ExpressionPlan extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
ExpressionPlan.Trait |
| Modifier and Type | Method and Description |
|---|---|
boolean |
any(ExpressionPlan.Trait... flags)
Returns true if any of the supplied traits are true in this plan
|
Expr.BindingAnalysis |
getAnalysis()
Returns basic analysis of the inputs to an
Expr and how they are used |
Expr |
getAppliedExpression()
If an expression uses a multi-valued input in a scalar manner, the expression can be automatically transformed
to map these values across the expression, applying the original expression to every value.
|
Expr |
getAppliedFoldExpression(String accumulatorId)
If an expression uses a multi-valued input in a scalar manner, and the expression contains an accumulator such as
for use as part of an aggregator, the expression can be automatically transformed to fold the accumulator across
the values of the original expression.
|
Expr |
getExpression()
Gets the original expression that was planned
|
ExpressionType |
getOutputType()
The output type of the original expression.
|
String |
getSingleInputName()
If and only if the expression has a single input, get the name of that input
|
ColumnType |
getSingleInputType()
If and only if the column has a single input, get the
ValueType of that input |
Set<String> |
getUnknownInputs()
Get set of inputs which were completely missing information, possibly a non-existent column or from a column
selector factory with incomplete information
|
ColumnCapabilities |
inferColumnCapabilities(ColumnType outputTypeHint)
Tries to construct the most appropriate
ColumnCapabilities for this plan given the outputType and
traits inferred by the ExpressionPlanner, optionally with the help of hint ValueType. |
boolean |
is(ExpressionPlan.Trait... flags)
Returns true if all of the supplied traits are true in this plan
|
boolean |
isConstant()
An expression with no inputs is a constant
|
public boolean isConstant()
public Expr getExpression()
public Expr getAppliedExpression()
public Expr getAppliedFoldExpression(String accumulatorId)
@Nullable public ExpressionType getOutputType()
getAppliedExpression()
or getAppliedFoldExpression(String), should the expression have any unapplied inputs@Nullable public ColumnType getSingleInputType()
ValueType of that inputpublic String getSingleInputName()
public Set<String> getUnknownInputs()
public Expr.BindingAnalysis getAnalysis()
Expr and how they are usedExpr.BindingAnalysis@Nullable public ColumnCapabilities inferColumnCapabilities(@Nullable ColumnType outputTypeHint)
ColumnCapabilities for this plan given the outputType and
traits inferred by the ExpressionPlanner, optionally with the help of hint ValueType.
If no output type was able to be inferred during planning, returns nullpublic boolean is(ExpressionPlan.Trait... flags)
public boolean any(ExpressionPlan.Trait... flags)
Copyright © 2011–2022 The Apache Software Foundation. All rights reserved.