heap
Class HeapScan

java.lang.Object
  extended by heap.HeapScan
All Implemented Interfaces:
GlobalConst

public class HeapScan
extends java.lang.Object
implements GlobalConst

A HeapScan object is created only through the function openScan() in the HeapFile class. It supports the getNext interface which will simply retrieve the next record in the file.


Field Summary
 
Fields inherited from interface global.GlobalConst
EMPTY_SLOT, FIRST_PAGEID, INVALID_PAGEID, MAX_COLSIZE, MAX_TUPSIZE, NAME_MAXLEN, PAGE_SIZE, PIN_DISKIO, PIN_MEMCPY, UNPIN_CLEAN, UNPIN_DIRTY
 
Constructor Summary
protected HeapScan(HeapFile hf)
          Constructs a file scan by pinning the directoy header page and initializing iterator fields.
 
Method Summary
 void close()
          Closes the file scan, releasing any pinned pages.
protected  void finalize()
          Called by the garbage collector when there are no more references to the object; closes the scan if it's still open.
 byte[] getNext(RID rid)
          Gets the next record in the file scan.
 boolean hasNext()
          Returns true if there are more records to scan, false otherwise.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HeapScan

protected HeapScan(HeapFile hf)
Constructs a file scan by pinning the directoy header page and initializing iterator fields.

Method Detail

finalize

protected void finalize()
                 throws java.lang.Throwable
Called by the garbage collector when there are no more references to the object; closes the scan if it's still open.

Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable

close

public void close()
Closes the file scan, releasing any pinned pages.


hasNext

public boolean hasNext()
Returns true if there are more records to scan, false otherwise.


getNext

public byte[] getNext(RID rid)
Gets the next record in the file scan.

Parameters:
rid - output parameter that identifies the returned record
Throws:
java.lang.IllegalStateException - if the scan has no more elements