public class ExpressionSelectors extends Object
| Modifier and Type | Method and Description |
|---|---|
static boolean |
canMapOverDictionary(Expr.BindingAnalysis bindingAnalysis,
ColumnCapabilities.Capable hasMultipleValues)
Returns whether an expression can be applied to unique values of a particular column (like those in a dictionary)
rather than being applied to each row individually.
|
static Object |
coerceEvalToSelectorObject(ExprEval eval)
|
static Expr.ObjectBinding |
createBindings(ColumnSelectorFactory columnSelectorFactory,
List<String> columns)
Create
Expr.ObjectBinding given a ColumnSelectorFactory and Expr.BindingAnalysis which
provides the set of identifiers which need a binding (list of required columns), and context of whether or not they
are used as array or scalar inputs |
static Expr.ObjectBinding |
createBindings(Expr.BindingAnalysis bindingAnalysis,
ColumnSelectorFactory columnSelectorFactory)
Create
Expr.ObjectBinding given a ColumnSelectorFactory and Expr.BindingAnalysis which
provides the set of identifiers which need a binding (list of required columns), and context of whether or not they
are used as array or scalar inputs |
static ColumnValueSelector |
makeColumnValueSelector(ColumnSelectorFactory columnSelectorFactory,
Expr expression)
Makes a ColumnValueSelector whose getObject method returns an Object that is the value computed by
an
ExprEval. |
static DimensionSelector |
makeDimensionSelector(ColumnSelectorFactory columnSelectorFactory,
Expr expression,
ExtractionFn extractionFn)
Makes a single or multi-value
DimensionSelector wrapper around a ColumnValueSelector created by
makeExprEvalSelector(ColumnSelectorFactory, Expr) as appropriate |
static ColumnValueSelector<ExprEval> |
makeExprEvalSelector(ColumnSelectorFactory columnSelectorFactory,
Expr expression)
Makes a ColumnValueSelector whose getObject method returns an
ExprEval. |
static ColumnValueSelector<ExprEval> |
makeExprEvalSelector(ColumnSelectorFactory columnSelectorFactory,
ExpressionPlan plan) |
public static ColumnValueSelector makeColumnValueSelector(ColumnSelectorFactory columnSelectorFactory, Expr expression)
ExprEval.public static ColumnValueSelector<ExprEval> makeExprEvalSelector(ColumnSelectorFactory columnSelectorFactory, Expr expression)
ExprEval.public static ColumnValueSelector<ExprEval> makeExprEvalSelector(ColumnSelectorFactory columnSelectorFactory, ExpressionPlan plan)
public static DimensionSelector makeDimensionSelector(ColumnSelectorFactory columnSelectorFactory, Expr expression, @Nullable ExtractionFn extractionFn)
DimensionSelector wrapper around a ColumnValueSelector created by
makeExprEvalSelector(ColumnSelectorFactory, Expr) as appropriatepublic static boolean canMapOverDictionary(Expr.BindingAnalysis bindingAnalysis, ColumnCapabilities.Capable hasMultipleValues)
bindingAnalysis - result of calling Expr.analyzeInputs() on an expressionhasMultipleValues - result of calling ColumnCapabilities.hasMultipleValues()public static Expr.ObjectBinding createBindings(Expr.BindingAnalysis bindingAnalysis, ColumnSelectorFactory columnSelectorFactory)
Expr.ObjectBinding given a ColumnSelectorFactory and Expr.BindingAnalysis which
provides the set of identifiers which need a binding (list of required columns), and context of whether or not they
are used as array or scalar inputspublic static Expr.ObjectBinding createBindings(ColumnSelectorFactory columnSelectorFactory, List<String> columns)
Expr.ObjectBinding given a ColumnSelectorFactory and Expr.BindingAnalysis which
provides the set of identifiers which need a binding (list of required columns), and context of whether or not they
are used as array or scalar inputsCopyright © 2011–2021 The Apache Software Foundation. All rights reserved.