Triggers FennelWindowRule.
| Methods inherited from class org.eigenbase.rel.AbstractRelNode |
cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
program
public final RexProgram program
WindowedAggregateRel
public WindowedAggregateRel(RelOptCluster cluster,
RelTraitSet traits,
RelNode child,
RexProgram program,
RelDataType rowType)
- Creates a WindowedAggregateRel.
- Parameters:
cluster - traits - child - program - Program containing an array of expressions. The program
must not have a condition, and each expression must be either a RexLocalRef, or a RexOver whose arguments are all RexLocalRef.rowType -
isValid
public boolean isValid(boolean fail)
- Description copied from interface:
RelNode
- Returns whether this relational expression is valid.
If assertions are enabled, this method is typically called with
fail = true, as follows:
assert rel.isValid(true)
This signals that the method can throw an AssertionError if it is
not valid.
- Specified by:
isValid in interface RelNode- Overrides:
isValid in class AbstractRelNode
- Parameters:
fail - Whether to fail if invalid
- Returns:
- Whether relational expression is valid
getProgram
public RexProgram getProgram()
explain
public void explain(RelOptPlanWriter pw)
- Specified by:
explain in interface RelNode- Overrides:
explain in class SingleRel
clone
public WindowedAggregateRel clone()
- Description copied from interface:
RelNode
- Clones this RelNode.
Traits of the RelNode must be explicitly cloned, using AbstractRelNode.inheritTraitsFrom(AbstractRelNode), as the RelNode may
have traits of which it has no knowledge. Example implementation:
public MyRelNode clone()
{
MyRelNode clone = new MyRelNode(...);
clone.inheritTraitsFrom(this);
return clone;
}
N.B.: This method must be overridden whenever an existing,
concrete RelNode is extended. Otherwise, calling clone() will produce a
differently typed RelNode, resulting in invalid or incorrect query plans.
- Specified by:
clone in interface RelNode- Specified by:
clone in class AbstractRelNode
- Returns:
- a clone of this RelNode