Class JavaOneRowRel

All Implemented Interfaces:

public class JavaOneRowRel
extends OneRowRel
implements JavaRel

JavaOneRowRel implements OneRowRel inline.

Field Summary
Fields inherited from class net.sf.saffron.rel.SaffronRel
cluster, digest, id, rowType
Constructor Summary
JavaOneRowRel(VolcanoCluster cluster)
Method Summary
 Object clone()
 CallingConvention getConvention()
          Returns a value from CallingConvention.
 Object implement(RelImplementor implementor, int ordinal)
          Create a plan for this expression according to a calling convention.
 Expression implementSelf(RelImplementor implementor)
          Returns a Java expression which yields the current row of this relational expression.
Methods inherited from class net.sf.saffron.rel.OneRowRel
computeSelfCost, deriveRowType
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
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public JavaOneRowRel(VolcanoCluster cluster)
Method Detail


public CallingConvention getConvention()
Description copied from class: SaffronRel
Returns a value from CallingConvention.

getConvention in class SaffronRel


public Object clone()
clone in class OneRowRel


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.


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: