public class RexExecutorImpl extends Object implements RexExecutor
RexNode expression.| Modifier and Type | Class and Description |
|---|---|
private static class |
RexExecutorImpl.DataContextInputGetter
Implementation of
RexToLixTranslator.InputGetter
that reads the values of input fields by calling
. |
| Modifier and Type | Field and Description |
|---|---|
private DataContext |
dataContext |
| Constructor and Description |
|---|
RexExecutorImpl(DataContext dataContext) |
| Modifier and Type | Method and Description |
|---|---|
private String |
compile(RexBuilder rexBuilder,
List<RexNode> constExps,
RexToLixTranslator.InputGetter getter) |
private String |
compile(RexBuilder rexBuilder,
List<RexNode> constExps,
RexToLixTranslator.InputGetter getter,
RelDataType rowType) |
RexExecutable |
getExecutable(RexBuilder rexBuilder,
List<RexNode> exps,
RelDataType rowType)
Creates an
RexExecutable that allows to apply the
generated code during query processing (filter, projection). |
void |
reduce(RexBuilder rexBuilder,
List<RexNode> constExps,
List<RexNode> reducedValues)
Do constant reduction using generated code.
|
private final DataContext dataContext
public RexExecutorImpl(DataContext dataContext)
private String compile(RexBuilder rexBuilder, List<RexNode> constExps, RexToLixTranslator.InputGetter getter)
private String compile(RexBuilder rexBuilder, List<RexNode> constExps, RexToLixTranslator.InputGetter getter, RelDataType rowType)
public RexExecutable getExecutable(RexBuilder rexBuilder, List<RexNode> exps, RelDataType rowType)
RexExecutable that allows to apply the
generated code during query processing (filter, projection).rexBuilder - Rex builderexps - ExpressionsrowType - describes the structure of the input row.public void reduce(RexBuilder rexBuilder, List<RexNode> constExps, List<RexNode> reducedValues)
reduce in interface RexExecutorrexBuilder - Rex builderconstExps - Expressions to be reducedreducedValues - List to which reduced expressions are appendedCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.