| Package | Description |
|---|---|
| org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
| org.apache.calcite.rex |
Provides a language for representing row-expressions.
|
| Modifier and Type | Method and Description |
|---|---|
RexNode |
CalcRelSplitter.InputToCommonExprConverter.visitLocalRef(RexLocalRef local) |
Void |
CalcRelSplitter.MaxInputFinder.visitLocalRef(RexLocalRef localRef) |
Void |
CalcRelSplitter.HighestUsageFinder.visitLocalRef(RexLocalRef ref) |
| Modifier and Type | Field and Description |
|---|---|
private RexLocalRef |
RexProgram.condition
The optional condition.
|
private RexLocalRef |
RexProgramBuilder.conditionRef |
| Modifier and Type | Field and Description |
|---|---|
private Map<Pair<String,String>,RexLocalRef> |
RexProgramBuilder.exprMap |
private List<RexLocalRef> |
RexProgramBuilder.localRefList |
private List<RexLocalRef> |
RexProgramBuilder.UpdateRefShuttle.newRefs |
private List<RexLocalRef> |
RexProgramBuilder.projectRefList |
private List<RexLocalRef> |
RexProgram.projects
With
RexProgram.condition, the second stage of expression evaluation. |
| Modifier and Type | Method and Description |
|---|---|
RexLocalRef |
RexProgramBuilder.addExpr(RexNode expr)
Adds an expression to the list of common expressions, and returns a
reference to the expression.
|
RexLocalRef |
RexProgramBuilder.addProject(int at,
int ordinal,
String name)
Adds a projection based upon the
indexth expression at a
given position. |
RexLocalRef |
RexProgramBuilder.addProject(int at,
RexNode expr,
String name)
Adds a project expression to the program at a given position.
|
RexLocalRef |
RexProgramBuilder.addProject(int ordinal,
String name)
Adds a projection based upon the
indexth expression. |
RexLocalRef |
RexProgramBuilder.addProject(RexNode expr,
String name)
Adds a project expression to the program.
|
RexLocalRef |
RexProgram.getCondition()
Returns the field reference of this program's filter condition, or null
if there is no condition.
|
RexLocalRef |
RexProgramBuilder.makeInputRef(int index)
Creates a reference to a given input field.
|
RexLocalRef |
RexProgramBuilder.registerInput(RexNode expr)
Registers an expression in the list of common sub-expressions, and
returns a reference to that expression.
|
private RexLocalRef |
RexProgramBuilder.registerInternal(RexNode expr,
boolean force)
Registers an expression in the list of common sub-expressions, and
returns a reference to that expression.
|
RexLocalRef |
RexProgramBuilder.registerOutput(RexNode expr)
Converts an expression expressed in terms of the outputs of this
program into an expression expressed in terms of the inputs,
registers it in the list of common sub-expressions, and returns a
reference to that expression.
|
| Modifier and Type | Method and Description |
|---|---|
List<Pair<RexLocalRef,String>> |
RexProgram.getNamedProjects()
Returns a list of project expressions and their field names.
|
List<RexLocalRef> |
RexProgramBuilder.getProjectList()
Returns the list of project expressions.
|
List<RexLocalRef> |
RexProgram.getProjectList()
Returns an array of references to the expressions which this program is
to project.
|
private List<RexLocalRef> |
RexProgramBuilder.registerProjectsAndCondition(RexProgram program) |
| Modifier and Type | Method and Description |
|---|---|
private void |
RexProgramBuilder.add(List<RexNode> exprList,
List<RexLocalRef> projectRefList,
RexLocalRef conditionRef,
RelDataType outputRowType,
RexShuttle shuttle,
boolean updateRefs)
Adds a set of expressions, projections and filters, applying a shuttle
first.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
List<RexNode> exprList,
List<RexLocalRef> projectRefList,
RexLocalRef conditionRef,
RelDataType outputRowType,
RexShuttle shuttle,
boolean updateRefs)
Creates a program builder with the same contents as a program, applying a
shuttle first.
|
RexNode |
RexProgram.expandLocalRef(RexLocalRef ref)
Fully expands a RexLocalRef back into a pure RexNode tree containing no
RexLocalRefs (reversing the effect of common subexpression elimination).
|
RexNode |
RexCopier.visitLocalRef(RexLocalRef localRef) |
R |
RexVisitor.visitLocalRef(RexLocalRef localRef) |
Boolean |
RexUtil.ConstantFinder.visitLocalRef(RexLocalRef localRef) |
Void |
RexUtil.ForwardRefFinder.visitLocalRef(RexLocalRef inputRef) |
R |
RexVisitorImpl.visitLocalRef(RexLocalRef localRef) |
Boolean |
RexChecker.visitLocalRef(RexLocalRef ref) |
RexNode |
RexPermutationShuttle.visitLocalRef(RexLocalRef local) |
RexNode |
RexShuttle.visitLocalRef(RexLocalRef localRef) |
RexNode |
RexProgramBuilder.RegisterInputShuttle.visitLocalRef(RexLocalRef local) |
RexNode |
RexProgramBuilder.RegisterMidputShuttle.visitLocalRef(RexLocalRef local) |
RexNode |
RexProgramBuilder.RegisterOutputShuttle.visitLocalRef(RexLocalRef local) |
RexNode |
RexProgramBuilder.UpdateRefShuttle.visitLocalRef(RexLocalRef localRef) |
Boolean |
RexProgram.Checker.visitLocalRef(RexLocalRef localRef)
Overrides
RexChecker method, because RexLocalRef is
is illegal in most rex expressions, but legal in a program. |
RexNode |
RexProgram.ExpansionShuttle.visitLocalRef(RexLocalRef localRef) |
Boolean |
RexProgram.ConstantFinder.visitLocalRef(RexLocalRef localRef) |
RexNode |
RexProgram.Marshaller.visitLocalRef(RexLocalRef localRef) |
Void |
RexProgram.ReferenceCounter.visitLocalRef(RexLocalRef localRef) |
R |
RexBiVisitor.visitLocalRef(RexLocalRef localRef,
P arg) |
RelOptUtil.Logic |
LogicVisitor.visitLocalRef(RexLocalRef localRef,
RelOptUtil.Logic arg) |
| Modifier and Type | Method and Description |
|---|---|
private void |
RexProgramBuilder.add(List<RexNode> exprList,
List<RexLocalRef> projectRefList,
RexLocalRef conditionRef,
RelDataType outputRowType,
RexShuttle shuttle,
boolean updateRefs)
Adds a set of expressions, projections and filters, applying a shuttle
first.
|
private static int |
RexProgram.countTrivial(List<RexLocalRef> refs)
Returns the number of expressions at the front of an array which are
simply projections of the same field.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
List<RexNode> exprList,
List<RexLocalRef> projectRefList,
RexLocalRef conditionRef,
RelDataType outputRowType,
RexShuttle shuttle,
boolean updateRefs)
Creates a program builder with the same contents as a program, applying a
shuttle first.
|
static void |
RexProgram.deduceCollations(List<RelCollation> outputCollations,
int sourceCount,
List<RexLocalRef> refs,
List<RelCollation> inputCollations)
Given a list of expressions and a description of which are ordered,
populates a list of collations, sorted in natural order.
|
| Constructor and Description |
|---|
RexProgram(RelDataType inputRowType,
List<? extends RexNode> exprs,
List<RexLocalRef> projects,
RexLocalRef condition,
RelDataType outputRowType)
Creates a program.
|
| Constructor and Description |
|---|
RexProgram(RelDataType inputRowType,
List<? extends RexNode> exprs,
List<RexLocalRef> projects,
RexLocalRef condition,
RelDataType outputRowType)
Creates a program.
|
UpdateRefShuttle(List<RexLocalRef> newRefs) |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.