relop
Class Selection

java.lang.Object
  extended by relop.Iterator
      extended by relop.Selection

public class Selection
extends Iterator

The selection operator specifies which tuples to retain under a condition; in Minibase, this condition is simply a set of independent predicates logically connected by OR operators.


Constructor Summary
Selection(Iterator iter, Predicate... preds)
          Constructs a selection, given the underlying iterator and predicates.
 
Method Summary
 void close()
          Closes the iterator, releasing any resources (i.e.
 void explain(int depth)
          Gives a one-line explanation of the iterator, repeats the call on any child iterators, and increases the indent depth along the way.
 Tuple getNext()
          Gets the next tuple in the iteration.
 boolean hasNext()
          Returns true if there are more tuples, false otherwise.
 boolean isOpen()
          Returns true if the iterator is open; false otherwise.
 void restart()
          Restarts the iterator, i.e.
 
Methods inherited from class relop.Iterator
execute, getSchema, setSchema
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Selection

public Selection(Iterator iter,
                 Predicate... preds)
Constructs a selection, given the underlying iterator and predicates.

Method Detail

explain

public void explain(int depth)
Gives a one-line explanation of the iterator, repeats the call on any child iterators, and increases the indent depth along the way.

Specified by:
explain in class Iterator

restart

public void restart()
Restarts the iterator, i.e. as if it were just constructed.

Specified by:
restart in class Iterator

isOpen

public boolean isOpen()
Returns true if the iterator is open; false otherwise.

Specified by:
isOpen in class Iterator

close

public void close()
Closes the iterator, releasing any resources (i.e. pinned pages).

Specified by:
close in class Iterator

hasNext

public boolean hasNext()
Returns true if there are more tuples, false otherwise.

Specified by:
hasNext in class Iterator

getNext

public Tuple getNext()
Gets the next tuple in the iteration.

Specified by:
getNext in class Iterator
Throws:
java.lang.IllegalStateException - if no more tuples