saffron.rel.plan
Class NestedLoopJoinPlan.NestedLoopJoinIterator

java.lang.Object
  |
  +--saffron.rel.plan.NestedLoopJoinPlan.NestedLoopJoinIterator
All Implemented Interfaces:
Iterator
Enclosing class:
NestedLoopJoinPlan

private class NestedLoopJoinPlan.NestedLoopJoinIterator
extends Object
implements Iterator


Field Summary
(package private)  boolean done
           
(package private)  boolean haveMovedToNext
           
(package private)  Field[] leftFields
          If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input.
(package private)  Field[] leftSourceFields
          If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input.
(package private)  Field[] rightFields
          If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input.
(package private)  Field[] rightSourceFields
          If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input.
(package private)  Object row
           
 
Constructor Summary
(package private) NestedLoopJoinPlan.NestedLoopJoinIterator()
           
 
Method Summary
private  Object createRow()
           
 boolean hasNext()
          We cannot call moveToNext() from next(), because it calls next() on the underlying iterators, and might therefore invalidate the objects it is about to return.
private  void moveToNext()
           
private  void moveToNextIfNecessary()
           
 Object next()
          This method does not call moveToNext(), as would be typical.
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

haveMovedToNext

boolean haveMovedToNext

done

boolean done

leftFields

Field[] leftFields
If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input. If the left input is a real class, then leftFields has only one member, and leftSourceFields is null.


rightFields

Field[] rightFields
If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input. If the left input is a real class, then leftFields has only one member, and leftSourceFields is null.


leftSourceFields

Field[] leftSourceFields
If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input. If the left input is a real class, then leftFields has only one member, and leftSourceFields is null.


rightSourceFields

Field[] rightSourceFields
If the left input is a synthetic class, then leftFields are the n fields within the row to put leftSourceFields, the n fields of the row from the left input. If the left input is a real class, then leftFields has only one member, and leftSourceFields is null.


row

Object row
Constructor Detail

NestedLoopJoinPlan.NestedLoopJoinIterator

NestedLoopJoinPlan.NestedLoopJoinIterator()
Method Detail

createRow

private Object createRow()

moveToNext

private void moveToNext()

moveToNextIfNecessary

private void moveToNextIfNecessary()

hasNext

public boolean hasNext()
We cannot call moveToNext() from next(), because it calls next() on the underlying iterators, and might therefore invalidate the objects it is about to return. We therefore call moveToNext() the first time that they call hasNext(). After they have called hasNext(), the row just returned may be invalid.

Specified by:
hasNext in interface Iterator

next

public Object next()
This method does not call moveToNext(), as would be typical. See hasNext() for more details.

Specified by:
next in interface Iterator

remove

public void remove()
Specified by:
remove in interface Iterator

SourceForge.net_Logo