vishnu.model.algebra.algorithms.join
Class IndexNestedLoopJoinAlgorithm

java.lang.Object
  extended by vishnu.model.algebra.algorithms.join.AbstractJoinAlgorithm
      extended by vishnu.model.algebra.algorithms.join.IndexNestedLoopJoinAlgorithm
All Implemented Interfaces:
Algorithm, BinaryAlgorithm

public class IndexNestedLoopJoinAlgorithm
extends AbstractJoinAlgorithm
implements BinaryAlgorithm

Debe ser del tipo atr1=v1 AND atr2=v2 AND atr3=v3 ...

Author:
Mariano Tepper
 

Field Summary
 
Fields inherited from class vishnu.model.algebra.algorithms.join.AbstractJoinAlgorithm
canceled, conditions, l
 
Constructor Summary
IndexNestedLoopJoinAlgorithm()
           
 
Method Summary
 boolean canBePerformed()
          Indica si el algoritmo puede ser ejecutado sobre la relacion definida.
 void cancel()
          Cancela la ejecucion del algoritmo.
 Algorithm clone()
          Clona el algoritmo.
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 void perform(Relation.Context c)
          Ejecuta el algoritmo con el contexto dado
protected  void performProduct(TableContext left, Index right, Table destTable, Session s)
          Resuelve la junta
protected  void performProduct(TableContext left, TableContext right, Table destTable, Session s)
           
 void rightTable(TableContext c)
          Setea la tabla derecha del algoritmo.
 java.lang.String toString()
           
 boolean wasCanceled()
           
 
Methods inherited from class vishnu.model.algebra.algorithms.join.AbstractJoinAlgorithm
attach, isCanceled, leftTable
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface vishnu.model.algebra.algorithms.BinaryAlgorithm
leftTable
 
Methods inherited from interface vishnu.model.algebra.algorithms.Algorithm
attach, isCanceled
 

Constructor Detail

IndexNestedLoopJoinAlgorithm

public IndexNestedLoopJoinAlgorithm()
Method Detail

perform

public void perform(Relation.Context c)
Description copied from interface: Algorithm
Ejecuta el algoritmo con el contexto dado

Specified by:
perform in interface Algorithm
Overrides:
perform in class AbstractJoinAlgorithm
Parameters:
c - - el contexto de ejecucion.

performProduct

protected void performProduct(TableContext left,
                              Index right,
                              Table destTable,
                              Session s)
Resuelve la junta


performProduct

protected void performProduct(TableContext left,
                              TableContext right,
                              Table destTable,
                              Session s)
Specified by:
performProduct in class AbstractJoinAlgorithm

rightTable

public void rightTable(TableContext c)
Description copied from interface: BinaryAlgorithm
Setea la tabla derecha del algoritmo.

Specified by:
rightTable in interface BinaryAlgorithm
Overrides:
rightTable in class AbstractJoinAlgorithm

cancel

public void cancel()
Description copied from interface: Algorithm
Cancela la ejecucion del algoritmo.

Specified by:
cancel in interface Algorithm
Overrides:
cancel in class AbstractJoinAlgorithm

wasCanceled

public boolean wasCanceled()

canBePerformed

public boolean canBePerformed()
Description copied from interface: Algorithm
Indica si el algoritmo puede ser ejecutado sobre la relacion definida.

Specified by:
canBePerformed in interface Algorithm
Specified by:
canBePerformed in class AbstractJoinAlgorithm
Returns:
true si puede ser ejecutado, false si no.

equals

public boolean equals(java.lang.Object o)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

clone

public Algorithm clone()
Description copied from interface: Algorithm
Clona el algoritmo.

Specified by:
clone in interface Algorithm
Specified by:
clone in class AbstractJoinAlgorithm