|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.store.access.conglomerate.GenericController
org.apache.derby.impl.store.access.conglomerate.GenericScanController
org.apache.derby.impl.store.access.heap.HeapScan
org.apache.derby.impl.store.access.heap.HeapCompressScan
class HeapCompressScan
A heap scan object represents an instance of a scan on a heap conglomerate.
Field Summary | |
---|---|
private long |
pagenum_to_start_moving_rows
Fields of HeapScan |
Fields inherited from class org.apache.derby.impl.store.access.conglomerate.GenericScanController |
---|
rowLocationsInvalidated, SCAN_DONE, SCAN_HOLD_INIT, SCAN_HOLD_INPROGRESS, SCAN_INIT, SCAN_INPROGRESS, scan_position, stat_numpages_visited, stat_numrows_qualified, stat_numrows_visited |
Fields inherited from class org.apache.derby.impl.store.access.conglomerate.GenericController |
---|
open_conglom |
Fields inherited from interface org.apache.derby.iapi.store.access.ScanController |
---|
GE, GT, NA |
Constructor Summary | |
---|---|
HeapCompressScan()
The only constructor for a HeapCompressScan returns a scan in the closed state, the caller must call open. |
Method Summary | |
---|---|
int |
fetchNextGroup(DataValueDescriptor[][] row_array,
RowLocation[] old_rowloc_array,
RowLocation[] new_rowloc_array)
Protected override implementation of routines in GenericController class: |
private int |
fetchRowsForCompress(DataValueDescriptor[][] row_array,
RowLocation[] oldrowloc_array,
RowLocation[] newrowloc_array)
Fetch the next N rows from the table. |
private void |
positionAfterThisPage(RowPosition pos)
Set scan position to just after current page. |
protected void |
positionAtResumeScan(RowPosition pos)
Reposition the scan upon entering the fetchRows loop. |
protected void |
positionAtStartForForwardScan(RowPosition pos)
Move the scan from SCAN_INIT to SCAN_INPROGRESS. |
Methods inherited from class org.apache.derby.impl.store.access.heap.HeapScan |
---|
fetchLocation, fetchNext, fetchNextGroup, getScanInfo, next, positionAtRowLocation, queueDeletePostCommitWork, reopenScanByRowLocation, setRowLocationArray, setRowLocationArray |
Methods inherited from class org.apache.derby.impl.store.access.conglomerate.GenericScanController |
---|
allocateScanPosition, close, closeForEndTransaction, delete, didNotQualify, doesCurrentPositionQualify, fetch, fetchRows, fetchSet, fetchWithoutQualify, getNumPagesVisited, getNumRowsQualified, getNumRowsVisited, getQualifier, getScanColumnList, getScanPosition, getScanState, getStartKeyValue, getStartSearchOperator, getStopKeyValue, getStopSearchOperator, init, isCurrentPositionDeleted, isHeldAfterCommit, positionAtDoneScan, positionAtInitScan, positionAtNextPage, reopenAfterEndTransaction, reopenScan, reopenScanByRecordHandle, replace, setScanPosition, setScanState |
Methods inherited from class org.apache.derby.impl.store.access.conglomerate.GenericController |
---|
checkConsistency, debugConglomerate, getEstimatedRowCount, getInternalTablePropertySet, getOpenConglom, getRowPositionFromRowLocation, getSpaceInfo, getTableProperties, init, isKeyed, isTableLocked, newRowLocationTemplate, setEstimatedRowCount |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.derby.iapi.store.access.conglomerate.ScanManager |
---|
closeForEndTransaction, fetchSet |
Methods inherited from interface org.apache.derby.iapi.store.access.ScanController |
---|
delete, didNotQualify, doesCurrentPositionQualify, fetch, fetchWithoutQualify, isCurrentPositionDeleted, isHeldAfterCommit, replace |
Methods inherited from interface org.apache.derby.iapi.store.access.GenericScanController |
---|
close, isKeyed, isTableLocked, newRowLocationTemplate, reopenScan |
Methods inherited from interface org.apache.derby.iapi.store.access.RowCountable |
---|
getEstimatedRowCount, setEstimatedRowCount |
Field Detail |
---|
private long pagenum_to_start_moving_rows
Constructor Detail |
---|
public HeapCompressScan()
Method Detail |
---|
public int fetchNextGroup(DataValueDescriptor[][] row_array, RowLocation[] old_rowloc_array, RowLocation[] new_rowloc_array) throws StandardException
fetchNextGroup
in interface GroupFetchScanController
fetchNextGroup
in class HeapScan
StandardException
private int fetchRowsForCompress(DataValueDescriptor[][] row_array, RowLocation[] oldrowloc_array, RowLocation[] newrowloc_array) throws StandardException
Utility routine used by both fetchSet() and fetchNextGroup().
StandardException
- Standard exception policy.protected void positionAtResumeScan(RowPosition pos) throws StandardException
Called upon entering fetchRows() while in the SCAN_INPROGRESS state. Do work necessary to look at rows in the current page of the scan.
The default implementation uses a record handle to maintain a scan position. It will get the latch again on the current scan position and set the slot to the current record handle.
positionAtResumeScan
in class GenericScanController
StandardException
- Standard exception policy.protected void positionAtStartForForwardScan(RowPosition pos) throws StandardException
This routine is called to move the scan from SCAN_INIT to SCAN_INPROGRESS. Upon return from this routine it is expected that scan_position is set such that calling the generic scan loop will reach the first row of the scan. Note that this usually means setting the scan_postion to one before the 1st row to be returned.
positionAtStartForForwardScan
in class GenericScanController
StandardException
- Standard exception policy.private void positionAfterThisPage(RowPosition pos) throws StandardException
Used to set the position of the scan if a record handle is not avaliable. In this case current_rh will be set to null, and current_pageno will be set to the current page number. On resume of the scan, the scan will be set to just before the first row returned form a getNextPage(current_pageno) call.
A positionAtResumeScan(scan_position) is necessary to continue the scan after this call.
StandardException
- Standard exception policy.
|
Built on Thu 2010-12-23 20:49:13+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |