ScanManager
, GenericScanController
, GroupFetchScanController
, RowCountable
, ScanController
class HeapCompressScan extends HeapScan
Modifier and Type | Field | Description |
---|---|---|
private long |
pagenum_to_start_moving_rows |
Fields of HeapScan
|
open_conglom
rowLocationsInvalidated, SCAN_DONE, SCAN_HOLD_INIT, SCAN_HOLD_INPROGRESS, SCAN_INIT, SCAN_INPROGRESS, scan_position, stat_numpages_visited, stat_numrows_qualified, stat_numrows_visited
GE, GT, NA
Constructor | Description |
---|---|
HeapCompressScan() |
The only constructor for a HeapCompressScan returns a scan in the
closed state, the caller must call open.
|
Modifier and Type | Method | Description |
---|---|---|
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.
|
checkConsistency, debugConglomerate, getEstimatedRowCount, getInternalTablePropertySet, getOpenConglom, getRowPositionFromRowLocation, getSpaceInfo, getTableProperties, init, isKeyed, isTableLocked, newRowLocationTemplate, setEstimatedRowCount
close, isKeyed, isTableLocked, newRowLocationTemplate, reopenScan
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
fetchLocation, fetchNext, fetchNextGroup, getScanInfo, makeRowLocation, next, positionAtRowLocation, queueDeletePostCommitWork, reopenScanByRowLocation, setRowLocationArray, setRowLocationArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getEstimatedRowCount, setEstimatedRowCount
delete, didNotQualify, doesCurrentPositionQualify, fetch, fetchWithoutQualify, isCurrentPositionDeleted, isHeldAfterCommit, replace
closeForEndTransaction, fetchSet
private long pagenum_to_start_moving_rows
public HeapCompressScan()
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.Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.