net.sf.saffron.rel
Class CorrelatorRel

java.lang.Object
  |
  +--net.sf.saffron.rel.SaffronRel
        |
        +--net.sf.saffron.rel.JoinRel
              |
              +--net.sf.saffron.rel.CorrelatorRel

public class CorrelatorRel
extends JoinRel

A CorrelatorRel behaves like a kind of JoinRel, but works by setting variables in its environment and restarting its right-hand input. It is used to represent a correlated query; one implementation option is to de-correlate the expression.

Since:
23 September, 2001
Version:
$Id: //open/saffron/src/net/sf/saffron/rel/CorrelatorRel.java#3 $
Author:
jhyde

Nested Class Summary
 
Nested classes inherited from class net.sf.saffron.rel.JoinRel
JoinRel.JoinType
 
Field Summary
(package private)  Expression[] correlations
           
 
Fields inherited from class net.sf.saffron.rel.JoinRel
condition, joinType, left, right, variablesStopped
 
Fields inherited from class net.sf.saffron.rel.SaffronRel
cluster, digest, emptyArray, id, nextId, rowType
 
Constructor Summary
(package private) CorrelatorRel(VolcanoCluster cluster, SaffronRel left, SaffronRel right, int joinType, Expression[] correlations)
          Creates a Correlator.
 
Method Summary
 Object clone()
           
 
Methods inherited from class net.sf.saffron.rel.JoinRel
childrenAccept, deriveRowType, explain, getChildExps, getCondition, getInputs, getJoinType, getLeft, getRight, getVariablesStopped, registerStoppedVariable, replaceInput, setVariablesStopped, switchJoinType
 
Methods inherited from class net.sf.saffron.rel.SaffronRel
computeDigest, computeSelfCost, getCluster, getConvention, getCorrelVariable, getId, getInput, getOrCreateCorrelVariable, getQualifier, getQuery, getRelTypeName, getRows, getRowType, getTable, implement, implementFieldAccess, isAccessTo, isDistinct, onRegister, recomputeDigest, register, registerCorrelVariable, setCorrelVariable, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

correlations

Expression[] correlations
Constructor Detail

CorrelatorRel

CorrelatorRel(VolcanoCluster cluster,
              SaffronRel left,
              SaffronRel right,
              int joinType,
              Expression[] correlations)
Creates a Correlator.

Parameters:
cluster - VolcanoCluster this relational expression belongs to
left - left input relational expression
right - right input relational expression
joinType - join type (see JoinRel.joinType)
correlations - set of expressions to set as variables each time a row arrives from the left input
Method Detail

clone

public Object clone()
Overrides:
clone in class JoinRel

SourceForge.net_Logo