net.sf.farrago.fennel.rel
Class FennelOptionalRel
java.lang.Object
org.eigenbase.rel.AbstractRelNode
org.eigenbase.rel.SingleRel
net.sf.farrago.fennel.rel.FennelSingleRel
net.sf.farrago.fennel.rel.FennelOptionalRel
- All Implemented Interfaces:
- Cloneable, FennelRel, RelNode
- Direct Known Subclasses:
- LcsIndexOnlyScanRel, LcsIndexSearchRel
public abstract class FennelOptionalRel
- extends FennelSingleRel
FennelOptionalRel is a FennelRel
which either takes zero inputs or
takes a single FennelRel as input.
- Version:
- $Id: //open/dev/farrago/src/net/sf/farrago/fennel/rel/FennelOptionalRel.java#1 $
- Author:
- John Pham
Methods inherited from class org.eigenbase.rel.AbstractRelNode |
clone, 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 |
Methods inherited from interface org.eigenbase.rel.RelNode |
clone, collectVariablesSet, collectVariablesUsed, computeSelfCost, explain, getChildExps, getCluster, getCollationList, getConvention, getCorrelVariable, getDescription, getDigest, getExpectedInputRowType, getId, getInput, getOrCreateCorrelVariable, getQuery, getRelTypeName, getRowType, getTable, getTraits, getVariablesStopped, isAccessTo, isDistinct, isValid, onRegister, recomputeDigest, registerCorrelVariable, replaceInput, setCorrelVariable |
FennelOptionalRel
protected FennelOptionalRel(RelOptCluster cluster,
RelNode child)
- Creates a new FennelOptionalRel object with an input rel.
- Parameters:
cluster
- RelOptCluster for this relchild
- input rel
FennelOptionalRel
protected FennelOptionalRel(RelOptCluster cluster)
- Creates a new FennelOptionalRel object without an input rel.
- Parameters:
cluster
- RelOptCluster for this rel
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 SingleRel
childrenAccept
public void childrenAccept(RelVisitor visitor)
- Description copied from interface:
RelNode
- Interacts with the
RelVisitor
in a visitor pattern
to traverse
the tree of relational expressions.
- Specified by:
childrenAccept
in interface RelNode
- Overrides:
childrenAccept
in class SingleRel
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
- Overrides:
implementFennelChild
in class FennelSingleRel
getRows
public double getRows()
- Description copied from interface:
RelNode
- Returns an estimate of the number of rows this relational expression will
return.
NOTE jvs 29-Mar-2006: Don't call this method directly. Instead, use
RelMetadataQuery.getRowCount(org.eigenbase.rel.RelNode)
, which gives plugins a chance to
override the rel's default ideas about row count.
- Specified by:
getRows
in interface RelNode
- Overrides:
getRows
in class SingleRel