public final class LogicalCalc extends Calc
This relational expression combines the functionality of
LogicalProject and LogicalFilter.
It should be created in the later
stages of optimization, by merging consecutive LogicalProject and
LogicalFilter nodes together.
The following rules relate to LogicalCalc:
FilterToCalcRule creates this from a LogicalFilter
ProjectToCalcRule creates this from a LogicalFilter
FilterCalcMergeRule
merges this with a LogicalFilter
ProjectCalcMergeRule
merges this with a LogicalProject
CalcMergeRule
merges two LogicalCalcs
digest, id, rowType, traitSet| Constructor and Description |
|---|
LogicalCalc(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
RexProgram program)
Creates a LogicalCalc.
|
LogicalCalc(RelOptCluster cluster,
RelTraitSet traitSet,
RelNode child,
RexProgram program,
List<RelCollation> collationList)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
void |
collectVariablesUsed(Set<String> variableSet)
Collects variables known to be used by this expression or its
descendants.
|
LogicalCalc |
copy(RelTraitSet traitSet,
RelNode child,
RexProgram program)
Creates a copy of this
Calc. |
static LogicalCalc |
create(RelNode input,
RexProgram program) |
accept, computeSelfCost, copy, copy, explainTerms, getProgram, getRows, isValidchildrenAccept, deriveRowType, getInput, getInputs, replaceInputaccept, collectVariablesSet, computeDigest, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getQuery, getRelTypeName, getRowType, getTable, getTraitSet, getVariablesStopped, isDistinct, isKey, metadata, onRegister, recomputeDigest, register, sole, toStringpublic LogicalCalc(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexProgram program)
@Deprecated public LogicalCalc(RelOptCluster cluster, RelTraitSet traitSet, RelNode child, RexProgram program, List<RelCollation> collationList)
public static LogicalCalc create(RelNode input, RexProgram program)
public LogicalCalc copy(RelTraitSet traitSet, RelNode child, RexProgram program)
CalcCalc.copy in class CalctraitSet - Traitschild - Input relationprogram - Calc programCalc if any parameter differs from the value of this
Calc, or just this if all the parameters are the sameCalc.copy(org.apache.calcite.plan.RelTraitSet, java.util.List)public void collectVariablesUsed(Set<String> variableSet)
RelNodecollectVariablesUsed in interface RelNodecollectVariablesUsed in class AbstractRelNodevariableSet - receives variables usedCopyright © 2012–2015 The Apache Software Foundation. All rights reserved.