|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eigenbase.rel.AbstractRelNode org.eigenbase.rel.SingleRel org.eigenbase.rel.AggregateRelBase org.eigenbase.rel.AggregateRel
public final class AggregateRel
AggregateRel
is a relational operator which eliminates
duplicates and computes totals.
Rules:
PullConstantsThroughAggregatesRule
RemoveDistinctAggregateRule
ReduceAggregatesRule
.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.eigenbase.rel.AggregateRelBase |
---|
AggregateRelBase.AggCallBinding |
Field Summary |
---|
Fields inherited from class org.eigenbase.rel.AggregateRelBase |
---|
aggCalls, groupCount |
Fields inherited from class org.eigenbase.rel.AbstractRelNode |
---|
digest, id, nextId, rowType, traits |
Fields inherited from interface org.eigenbase.rel.RelNode |
---|
emptyArray |
Constructor Summary | |
---|---|
AggregateRel(RelOptCluster cluster,
RelNode child,
int groupCount,
List<AggregateCall> aggCalls)
Creates an AggregateRel. |
Method Summary | |
---|---|
AggregateRel |
clone()
Clones this RelNode. |
Methods inherited from class org.eigenbase.rel.AggregateRelBase |
---|
computeSelfCost, containsDistinctCall, deriveRowType, explain, getAggCallList, getGroupCount, getRows, isDistinct |
Methods inherited from class org.eigenbase.rel.SingleRel |
---|
childrenAccept, getChild, getInputs, replaceInput |
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
---|
cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public AggregateRel(RelOptCluster cluster, RelNode child, int groupCount, List<AggregateCall> aggCalls)
cluster
- RelOptCluster
this relational expression belongs
tochild
- input relational expressiongroupCount
- Number of columns to group onaggCalls
- Array of aggregates to computeMethod Detail |
---|
public AggregateRel clone()
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.
clone
in interface RelNode
clone
in class AbstractRelNode
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |