net.sf.saffron.rel
Class SingleRel

java.lang.Object
  |
  +--net.sf.saffron.rel.SaffronRel
        |
        +--net.sf.saffron.rel.SingleRel
Direct Known Subclasses:
AggregateRel, ConverterRel, DistinctRel, FilterRel, ProjectRelBase, SingleTerminatorRel, SortRel, TableModificationRel, VolcanoPlannerTest.TestSingleRel

public abstract class SingleRel
extends SaffronRel

A SingleRel is a base class single-input relational expressions.

Since:
23 September, 2001
Version:
$Id: //open/saffron/src/net/sf/saffron/rel/SingleRel.java#5 $
Author:
jhyde

Field Summary
 SaffronRel child
           
 
Fields inherited from class net.sf.saffron.rel.SaffronRel
cluster, digest, emptyArray, id, nextId, rowType
 
Constructor Summary
protected SingleRel(VolcanoCluster cluster, SaffronRel child)
          Creates a SingleRel.
 
Method Summary
 void childrenAccept(RelVisitor visitor)
           
protected  SaffronType deriveRowType()
           
 void explain(PlanWriter pw)
           
 SaffronRel[] getInputs()
          Returns an array of this SaffronRel's inputs.
 double getRows()
          Returns an estimate of the number of rows this relational expression will return.
 void replaceInput(int ordinalInParent, SaffronRel rel)
          Replaces the ordinalInParentth input.
 
Methods inherited from class net.sf.saffron.rel.SaffronRel
clone, computeDigest, computeSelfCost, getChildExps, getCluster, getConvention, getCorrelVariable, getId, getInput, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRowType, getTable, getVariablesStopped, implement, implementFieldAccess, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

child

public SaffronRel child
Constructor Detail

SingleRel

protected SingleRel(VolcanoCluster cluster,
                    SaffronRel child)
Creates a SingleRel.

Parameters:
cluster - VolcanoCluster this relational expression belongs to
child - input relational expression
Method Detail

getInputs

public SaffronRel[] getInputs()
Description copied from class: SaffronRel
Returns an array of this SaffronRel's inputs. If there are no inputs, returns an empty array, not null.

Overrides:
getInputs in class SaffronRel

getRows

public double getRows()
Description copied from class: SaffronRel
Returns an estimate of the number of rows this relational expression will return.

Overrides:
getRows in class SaffronRel

childrenAccept

public void childrenAccept(RelVisitor visitor)
Overrides:
childrenAccept in class SaffronRel

explain

public void explain(PlanWriter pw)
Overrides:
explain in class SaffronRel

replaceInput

public void replaceInput(int ordinalInParent,
                         SaffronRel rel)
Description copied from class: SaffronRel
Replaces the ordinalInParentth input. You must override this method if you override SaffronRel.getInputs().

Overrides:
replaceInput in class SaffronRel

deriveRowType

protected SaffronType deriveRowType()
Specified by:
deriveRowType in class SaffronRel

SourceForge.net_Logo