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 classes inherited from class saffron.rel.Rel |
|
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 |
inConvention
protected CallingConvention inConvention
Converter
protected Converter(Cluster cluster,
Rel child)
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
- 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.