| org.apache.derby.impl.store.access.conglomerate.GenericScanController org.apache.derby.impl.store.access.heap.HeapScan
All known Subclasses: org.apache.derby.impl.store.access.heap.HeapCompressScan,
Constructor Summary | |
public | HeapScan() The only constructor for a heap scan returns a scan in the
closed state, the caller must call open. |
HeapScan | public HeapScan()(Code) | | The only constructor for a heap scan returns a scan in the
closed state, the caller must call open.
|
fetchNext | public boolean fetchNext(DataValueDescriptor[] fetch_row) throws StandardException(Code) | | Fetch the row at the next position of the Scan.
If there is a valid next position in the scan then
the value in the template storable row is replaced
with the value of the row at the current scan
position. The columns of the template row must
be of the same type as the actual columns in the
underlying conglomerate.
The resulting contents of templateRow after a fetchNext()
which returns false is undefined.
The result of calling fetchNext(row) is exactly logically
equivalent to making a next() call followed by a fetch(row)
call. This interface allows implementations to optimize
the 2 calls if possible.
Parameters: fetch_row - The template row into which the valueof the next position in the scan is to be stored. True if there is a next position in the scan,false if there isn't. exception: StandardException - Standard exception policy. |
getScanInfo | public ScanInfo getScanInfo() throws StandardException(Code) | | Return ScanInfo object which describes performance of scan.
Return ScanInfo object which contains information about the current
scan.
See Also: ScanInfo The ScanInfo object which contains info about current scan. exception: StandardException - Standard exception policy. |
queueDeletePostCommitWork | protected void queueDeletePostCommitWork(RowPosition pos) throws StandardException(Code) | | Protected concrete impl of abstract methods of
GenericController class:
|
reopenScanByRowLocation | public void reopenScanByRowLocation(RowLocation startRowLocation, Qualifier qualifier) throws StandardException(Code) | | Reposition the current scan. This call is semantically the same as if
the current scan had been closed and a openScan() had been called instead.
The scan is reopened against the same conglomerate, and the scan
is reopened with the same "scan column list", "hold" and "forUpdate"
parameters passed in the original openScan.
The statistics gathered by the scan are not reset to 0 by a reopenScan(),
rather they continue to accumulate.
Note that this operation is currently only supported on Heap conglomerates.
Also note that order of rows within are heap are not guaranteed, so for
instance positioning at a RowLocation in the "middle" of a heap, then
inserting more data, then continuing the scan is not guaranteed to see
the new rows - they may be put in the "beginning" of the heap.
Parameters: startRowLocation - An existing RowLocation within the conglomerate,at which to position the start of the scan. The scan will begin at thislocation and continue forward until the end of the conglomerate. Positioning at a non-existent RowLocation (ie. an invalid one or one thathad been deleted), will result in an exception being thrown when the first next operation is attempted. Parameters: qualifier - An array of qualifiers which, appliedto each key, restrict the rows returned by the scan. Rowsfor which any one of the qualifiers returns false are notreturned by the scan. If null, all rows are returned. exception: StandardException - Standard exception policy. |
savePosition | public void savePosition(Conglomerate conglom, Page page) throws StandardException(Code) | | Do work necessary to maintain the current position in the scan.
The latched page in the conglomerate "congomid" is changing, do
whatever is necessary to maintain the current position of the scan.
For some conglomerates this may be a no-op.
Parameters: conglom - Conglomerate being changed. Parameters: page - Page in the conglomerate being changed. exception: StandardException - Standard exception policy. |
Methods inherited from org.apache.derby.impl.store.access.conglomerate.GenericScanController | protected RowPosition allocateScanPosition() throws StandardException(Code)(Java Doc) public void close() throws StandardException(Code)(Java Doc) public boolean closeForEndTransaction(boolean closeHeldScan) throws StandardException(Code)(Java Doc) public boolean delete() throws StandardException(Code)(Java Doc) public void didNotQualify() throws StandardException(Code)(Java Doc) public boolean doesCurrentPositionQualify() throws StandardException(Code)(Java Doc) public void fetch(DataValueDescriptor[] row) throws StandardException(Code)(Java Doc) public void fetchLocation(RowLocation templateLocation) throws StandardException(Code)(Java Doc) protected int fetchRows(DataValueDescriptor[][] row_array, RowLocation[] rowloc_array, BackingStoreHashtable hash_table, long max_rowcnt, int[] key_column_numbers) throws StandardException(Code)(Java Doc) public void fetchSet(long max_rowcnt, int[] key_column_numbers, BackingStoreHashtable hash_table) throws StandardException(Code)(Java Doc) public void fetchWithoutQualify(DataValueDescriptor[] row) throws StandardException(Code)(Java Doc) final public int getNumPagesVisited()(Code)(Java Doc) final public int getNumRowsQualified()(Code)(Java Doc) final public int getNumRowsVisited()(Code)(Java Doc) final public Qualifier[][] getQualifier()(Code)(Java Doc) final public FormatableBitSet getScanColumnList()(Code)(Java Doc) public ScanInfo getScanInfo() throws StandardException(Code)(Java Doc) final public RowPosition getScanPosition()(Code)(Java Doc) final public int getScanState()(Code)(Java Doc) final public DataValueDescriptor[] getStartKeyValue()(Code)(Java Doc) final public int getStartSearchOperator()(Code)(Java Doc) final public DataValueDescriptor[] getStopKeyValue()(Code)(Java Doc) final public int getStopSearchOperator()(Code)(Java Doc) public void init(OpenConglomerate open_conglom, FormatableBitSet scanColumnList, DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator) throws StandardException(Code)(Java Doc) public boolean isCurrentPositionDeleted() throws StandardException(Code)(Java Doc) protected void positionAtDoneScan(RowPosition pos) throws StandardException(Code)(Java Doc) protected void positionAtInitScan(DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator, RowPosition pos) throws StandardException(Code)(Java Doc) protected void positionAtNextPage(RowPosition pos) throws StandardException(Code)(Java Doc) protected void positionAtResumeScan(RowPosition pos) throws StandardException(Code)(Java Doc) protected void positionAtStartForForwardScan(RowPosition pos) throws StandardException(Code)(Java Doc) final protected boolean reopenAfterEndTransaction() throws StandardException(Code)(Java Doc) public void reopenScan(DataValueDescriptor[] startKeyValue, int startSearchOperator, Qualifier qualifier, DataValueDescriptor[] stopKeyValue, int stopSearchOperator) throws StandardException(Code)(Java Doc) protected void reopenScanByRecordHandle(RecordHandle startRecordHandle, Qualifier qualifier) throws StandardException(Code)(Java Doc) public void reopenScanByRowLocation(RowLocation startRowLocation, Qualifier qualifier) throws StandardException(Code)(Java Doc) public boolean replace(DataValueDescriptor[] row, FormatableBitSet validColumns) throws StandardException(Code)(Java Doc) abstract protected void setRowLocationArray(RowLocation[] rowloc_array, int index, RowPosition pos) throws StandardException(Code)(Java Doc) final public void setScanPosition(RowPosition pos)(Code)(Java Doc) final public void setScanState(int state)(Code)(Java Doc)
|
|
|