org.eigenbase.rel
Class CollectRel
java.lang.Object
org.eigenbase.rel.AbstractRelNode
org.eigenbase.rel.SingleRel
org.eigenbase.rel.CollectRel
- All Implemented Interfaces:
- Cloneable, RelNode
public final class CollectRel
- extends SingleRel
A relational expression which collapses multiple rows into one.
Rules:
- Since:
- Dec 12, 2004
- Version:
- $Id: //open/dev/farrago/src/org/eigenbase/rel/CollectRel.java#17 $
- Author:
- Wael Chatila
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, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
fieldName
private final String fieldName
CollectRel
public CollectRel(RelOptCluster cluster,
RelNode child,
String fieldName)
- Creates a CollectRel.
- Parameters:
cluster
- Clusterchild
- Child relational expressionfieldName
- Name of the sole output field
clone
public CollectRel 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
getFieldName
public String getFieldName()
- Returns the name of the sole output field.
- Returns:
- name of the sole output field
deriveRowType
protected RelDataType deriveRowType()
- Overrides:
deriveRowType
in class SingleRel
deriveCollectRowType
public static RelDataType deriveCollectRowType(SingleRel rel,
String fieldName)
- Derives the output type of a collect relational expression.
- Parameters:
rel
- relational expressionfieldName
- name of sole output field
- Returns:
- output type of a collect relational expression