saffron.rel
Class SingleRel

java.lang.Object
  |
  +--saffron.rel.Rel
        |
        +--saffron.rel.SingleRel
Direct Known Subclasses:
Aggregate, Converter, Distinct, Filter, Project, SingleTerminator

public abstract class SingleRel
extends Rel

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

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

Nested Class Summary
 
Nested classes inherited from class saffron.rel.Rel
 
Field Summary
 Rel child
           
 
Fields inherited from class saffron.rel.Rel
cluster, digest, emptyArray, id, nextId, rowType
 
Constructor Summary
protected SingleRel(Cluster cluster, Rel child)
          Creates a SingleRel.
 
Method Summary
 void childrenAccept(RelVisitor visitor)
           
protected  Type deriveRowType()
           
 void explain(PlanWriter pw)
           
 Rel[] getInputs()
          Returns an array of this Rel's inputs.
 void replaceInput(int ordinalInParent, Rel rel)
          Replaces the ordinalInParentth input.
 
Methods inherited from class saffron.rel.Rel
clone, computeDigest, computeSelfCost, getChildExps, getCluster, getConvention, getCorelVariable, getEnvironment, getId, getInput, getOrCreateCorelVariable, getParentEnv, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, getType, getVariablesStopped, implement, implementExp, implementExps, implementFieldAccess, implementSelf, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorelVariable, setCorelVariable, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

child

public Rel child
Constructor Detail

SingleRel

protected SingleRel(Cluster cluster,
                    Rel child)
Creates a SingleRel.

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

getInputs

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

Overrides:
getInputs in class Rel

replaceInput

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

Overrides:
replaceInput in class Rel

deriveRowType

protected Type deriveRowType()
Specified by:
deriveRowType in class Rel

childrenAccept

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

explain

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

SourceForge.net_Logo