|
|||||||||
| 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 GroupFetchScanControllerfetchNextGroup in class HeapScanStandardException
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 GenericScanControllerStandardException - 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 GenericScanControllerStandardException - 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 Wed 2013-06-12 15:21:56+0000, from revision ??? | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||