net.sf.farrago.fennel.rel
Class FennelMultipleRel
java.lang.Object
org.eigenbase.rel.AbstractRelNode
net.sf.farrago.fennel.rel.FennelMultipleRel
- All Implemented Interfaces:
- Cloneable, FennelRel, RelNode
- Direct Known Subclasses:
- FennelMergeRel, FennelNestedLoopJoinRel, LcsIndexBitOpRel, LcsRowScanRelBase
public abstract class FennelMultipleRel
- extends AbstractRelNode
- implements FennelRel
Abstract base class for relational expressions which implement FennelRel
and have variable numbers of inputs.
- Since:
- Feb 4, 2005
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/fennel/rel/FennelMultipleRel.java#1 $
- Author:
- Jack Frost
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
childrenAccept, clone, cloneTraits, collectVariablesSet, collectVariablesUsed, computeDigest, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraits, getVariablesStopped, inheritTraitsFrom, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString |
Methods inherited from interface org.eigenbase.rel.RelNode |
childrenAccept, clone, collectVariablesSet, collectVariablesUsed, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRows, getRowType, getTable, getTraits, getVariablesStopped, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, registerCorrelVariable, setCorrelVariable |
inputs
protected RelNode[] inputs
FennelMultipleRel
protected FennelMultipleRel(RelOptCluster cluster,
RelNode[] inputs)
- Creates a new FennelMultipleRel object.
- Parameters:
cluster
- RelOptCluster for this relinputs
- array of inputs
getInputs
public RelNode[] getInputs()
- Description copied from interface:
RelNode
- Returns an array of this relational expression's inputs. If there are no
inputs, returns an empty array, not
null
.
- Specified by:
getInputs
in interface RelNode
- Overrides:
getInputs
in class AbstractRelNode
replaceInput
public void replaceInput(int ordinalInParent,
RelNode p)
- Description copied from interface:
RelNode
- Replaces the
ordinalInParent
th input. You must
override this method if you override RelNode.getInputs()
.
- Specified by:
replaceInput
in interface RelNode
- Overrides:
replaceInput
in class AbstractRelNode
getFarragoTypeFactory
public FarragoTypeFactory getFarragoTypeFactory()
implementFennelChild
public Object implementFennelChild(FennelRelImplementor implementor)
- Description copied from interface:
FennelRel
- Visits this relational expression as part of the implementation process.
Fennel relational expressions are implemented in a two-phase process:
first call this method, then call
FennelRel.toStreamDef(net.sf.farrago.query.FennelRelImplementor)
.
- Specified by:
implementFennelChild
in interface FennelRel
deriveRowType
protected RelDataType deriveRowType()
- Overrides:
deriveRowType
in class AbstractRelNode
getCollations
public RelFieldCollation[] getCollations()
- Description copied from interface:
FennelRel
TODO: jhyde, 2006/3/28: unify with RelNode.getCollationList()
- Specified by:
getCollations
in interface FennelRel
- Returns:
- the sort order produced by this FennelRel, or an empty array if
the output is not guaranteed to be in any particular order.