net.sf.saffron.oj.rel
Class JavaOneRowRel
java.lang.Object
|
+--net.sf.saffron.rel.SaffronRel
|
+--net.sf.saffron.rel.OneRowRel
|
+--net.sf.saffron.oj.rel.JavaOneRowRel
- All Implemented Interfaces:
- JavaRel
- public class JavaOneRowRel
- extends OneRowRel
- implements JavaRel
JavaOneRowRel
implements OneRowRel
inline.
Methods inherited from class net.sf.saffron.rel.SaffronRel |
childrenAccept, computeDigest, explain, getChildExps, getCluster, getCorrelVariable, getId, getInput, getInputs, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, getVariablesStopped, implementFieldAccess, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, replaceInput, setCorrelVariable, toString |
JavaOneRowRel
public JavaOneRowRel(VolcanoCluster cluster)
getConvention
public CallingConvention getConvention()
- Description copied from class:
SaffronRel
- Returns a value from
CallingConvention
.
- Overrides:
getConvention
in class SaffronRel
clone
public Object clone()
- Overrides:
clone
in class OneRowRel
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.
implementSelf
public Expression implementSelf(RelImplementor implementor)
- Description copied from interface:
JavaRel
- Returns a Java expression which yields the current row of this
relational expression. This method is called by the
RelImplementor
the first time a piece of Java code wants to refer to
this relation. The implementor then uses this expression to initialize
a variable.
If no code needs to refer to this relation, then the expression is
never generated. This prevents generating useless code like
Dummy_12f614.Ojp_1 oj_var8 = new Dummy_12f614.Ojp_1();
.
If a relational expression has one input relational expression
which has the same row type, you may be able to share its variable.
Call Implementor#bind(Rel,Rel) to do this.
- Specified by:
implementSelf
in interface JavaRel
- See Also:
RelImplementor.bind(SaffronRel,SaffronRel)