iterator
Class Sort
java.lang.Object
iterator.Iterator
iterator.Sort
- All Implemented Interfaces:
- Flags, GlobalConst
- public class Sort
- extends Iterator
- implements GlobalConst
The Sort class sorts a file. All necessary information are passed as
arguments to the constructor. After the constructor call, the user can
repeatly call get_next() to get tuples in sorted order.
After the sorting is done, the user should call close()
to clean up.
| Fields inherited from interface global.GlobalConst |
INVALID_PAGE, MAX_NAME, MAX_SPACE, MAXATTRNAME, MAXFILENAME, MAXINDEXNAME, MINIBASE_BUFFER_POOL_SIZE, MINIBASE_DB_SIZE, MINIBASE_DEFAULT_SHAREDMEM_SIZE, MINIBASE_MAX_TRANSACTIONS, MINIBASE_MAXARRSIZE, MINIBASE_PAGESIZE, NUMBUF |
|
Constructor Summary |
Sort(AttrType[] in,
short len_in,
short[] str_sizes,
Iterator am,
int sort_fld,
TupleOrder sort_order,
int sort_fld_len,
int n_pages)
Class constructor, take information about the tuples, and set up
the sorting |
|
Method Summary |
void |
close()
Cleaning up, including releasing buffer pages from the buffer pool
and removing temporary files from the database. |
Tuple |
get_next()
Returns the next tuple in sorted order. |
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Sort
public Sort(AttrType[] in,
short len_in,
short[] str_sizes,
Iterator am,
int sort_fld,
TupleOrder sort_order,
int sort_fld_len,
int n_pages)
throws java.io.IOException,
SortException
- Class constructor, take information about the tuples, and set up
the sorting
- Parameters:
in - array containing attribute types of the relationlen_in - number of columns in the relationstr_sizes - array of sizes of string attributesam - an iterator for accessing the tuplessort_fld - the field number of the field to sort onsort_order - the sorting order (ASCENDING, DESCENDING)n_pages - amount of memory (in pages) available for sorting
- Throws:
java.io.IOException - from lower layers
SortException - something went wrong in the lower layer.
get_next
public Tuple get_next()
throws java.io.IOException,
SortException,
UnknowAttrType,
LowMemException,
JoinsException,
java.lang.Exception
- Returns the next tuple in sorted order.
Note: You need to copy out the content of the tuple, otherwise it
will be overwritten by the next
get_next() call.
- Specified by:
get_next in class Iterator
- Returns:
- the next tuple, null if all tuples exhausted
- Throws:
java.io.IOException - from lower layers
SortException - something went wrong in the lower layer.
JoinsException - from generate_runs().
UnknowAttrType - attribute type unknown
LowMemException - memory low exception
java.lang.Exception - other exceptions
close
public void close()
throws SortException,
java.io.IOException
- Cleaning up, including releasing buffer pages from the buffer pool
and removing temporary files from the database.
- Specified by:
close in class Iterator
- Throws:
java.io.IOException - from lower layers
SortException - something went wrong in the lower layer.