relop
Class Projection

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

public class Projection
extends Iterator

The projection operator extracts columns from a relation; unlike in relational algebra, this operator does NOT eliminate duplicate tuples.


Field Summary
 
Fields inherited from class relop.Iterator
schema
 
Constructor Summary
Projection(Iterator iter, java.lang.Integer... fields)
          Constructs a projection, given the underlying iterator and field numbers.
 
Method Summary
 void close()
          Closes the iterator, releasing any resources (i.e.
 void explain(int depth)
          Gives a one-line explaination 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, finalize, indent
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Projection

public Projection(Iterator iter,
                  java.lang.Integer... fields)
Constructs a projection, given the underlying iterator and field numbers.

Method Detail

explain

public void explain(int depth)
Gives a one-line explaination 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