net.sf.saffron.rel.convert
Class ConverterRel
java.lang.Object
|
+--net.sf.saffron.rel.SaffronRel
|
+--net.sf.saffron.rel.SingleRel
|
+--net.sf.saffron.rel.convert.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.
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 |
inConvention
protected CallingConvention inConvention
ConverterRel
protected ConverterRel(VolcanoCluster cluster,
SaffronRel child)
computeSelfCost
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.
- Overrides:
computeSelfCost
in class SaffronRel
implement
public Object implement(RelImplementor implementor,
int ordinal)
- Description copied from class:
SaffronRel
- Create a plan for this expression according to a calling convention.
- Overrides:
implement
in class SaffronRel
- Parameters:
implementor
- implementorordinal
- 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
i
th child.