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.


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

JavaOneRowRel

public JavaOneRowRel(VolcanoCluster cluster)
Method Detail

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 - 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.

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)

SourceForge.net_Logo