Class ConverterRel

Direct Known Subclasses:
AbstractConverter, ArrayConverterRel, CollectionConverterRel, EnumerationConverterRel, ExistsConverterRel, IterableConverterRel, IterConverterRel, JavaConverterRel, NoneConverterRel, ResultSetConverterRel, VectorConverterRel

public abstract class ConverterRel
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.

Field Summary
protected  CallingConvention inConvention
Fields inherited from class net.sf.saffron.rel.SingleRel
Fields inherited from class net.sf.saffron.rel.SaffronRel
cluster, digest, id, rowType
Constructor Summary
protected ConverterRel(VolcanoCluster cluster, SaffronRel child)
Method Summary
 PlanCost computeSelfCost(SaffronPlanner planner)
          Returns the cost of this plan (not including children).
 Object implement(RelImplementor implementor, int ordinal)
          Create a plan for this expression according to a calling convention.
Methods inherited from class net.sf.saffron.rel.SingleRel
childrenAccept, deriveRowType, explain, getInputs, getRows, replaceInput
Methods inherited from class net.sf.saffron.rel.SaffronRel
clone, computeDigest, getChildExps, getCluster, getConvention, getCorrelVariable, getId, getInput, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRowType, getTable, getVariablesStopped, 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


protected CallingConvention inConvention
Constructor Detail


protected ConverterRel(VolcanoCluster cluster,
                       SaffronRel child)
Method Detail


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

computeSelfCost in class SaffronRel


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

implement in class SaffronRel
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.