saffron.rel.convert
Class Converter

java.lang.Object
  |
  +--saffron.rel.Rel
        |
        +--saffron.rel.SingleRel
              |
              +--saffron.rel.convert.Converter
Direct Known Subclasses:
AbstractConverter, ArrayConverter, CollectionConverter, EnumerationConverter, ExistsConverter, IterableConverter, IterConverter, JavaConverter, NoneConverter, PlanConverter, ResultSetConverter, VectorConverter

public abstract class Converter
extends SingleRel

Converts a relational expression from one calling convention to another.

Sometimes this conversion is expensive; for example, to convert a non-distinct to a distinct object stream, we have to clone every object in the input.


Nested Class Summary
 
Nested classes inherited from class saffron.rel.Rel
 
Field Summary
protected  CallingConvention inConvention
           
 
Fields inherited from class saffron.rel.SingleRel
child
 
Fields inherited from class saffron.rel.Rel
cluster, digest, id, rowType
 
Constructor Summary
protected Converter(Cluster cluster, Rel child)
           
 
Method Summary
 Cost computeSelfCost(Planner planner)
          Returns the cost of this plan (not including children).
 Object implement(Implementor implementor, int ordinal)
          Create a plan for this expression according to a calling convention.
 
Methods inherited from class saffron.rel.SingleRel
childrenAccept, deriveRowType, explain, getInputs, replaceInput
 
Methods inherited from class saffron.rel.Rel
clone, computeDigest, getChildExps, getCluster, getConvention, getCorelVariable, getEnvironment, getId, getInput, getOrCreateCorelVariable, getParentEnv, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, getType, getVariablesStopped, 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

inConvention

protected CallingConvention inConvention
Constructor Detail

Converter

protected Converter(Cluster cluster,
                    Rel child)
Method Detail

computeSelfCost

public Cost computeSelfCost(Planner planner)
Description copied from class: Rel
Returns the cost of this plan (not including children). The base implementation throws an error; derived classes should override.

Overrides:
computeSelfCost in class Rel

implement

public Object implement(Implementor implementor,
                        int ordinal)
Description copied from class: Rel
Create a plan for this expression according to a calling convention.

Overrides:
implement in class Rel
Parameters:
implementor - implementor
ordinal - indicates our position in the pre-, in- and postfix walk over the tree; ordinal is -1 when called from the parent, and i when called from the ith child.

SourceForge.net_Logo