Class HeapCompressScan
- All Implemented Interfaces:
ScanManager, GenericScanController, GroupFetchScanController, RowCountable, ScanController
-
Field Summary
FieldsFields inherited from class GenericScanController
rowLocationsInvalidated, SCAN_DONE, SCAN_HOLD_INIT, SCAN_HOLD_INPROGRESS, SCAN_INIT, SCAN_INPROGRESS, scan_position, stat_numpages_visited, stat_numrows_qualified, stat_numrows_visitedFields inherited from class GenericController
open_conglomFields inherited from interface ScanController
GE, GT, NA -
Constructor Summary
ConstructorsConstructorDescriptionThe only constructor for a HeapCompressScan returns a scan in the closed state, the caller must call open. -
Method Summary
Modifier and TypeMethodDescriptionintfetchNextGroup(DataValueDescriptor[][] row_array, RowLocation[] old_rowloc_array, RowLocation[] new_rowloc_array) Protected override implementation of routines in GenericController class:private intfetchRowsForCompress(DataValueDescriptor[][] row_array, RowLocation[] oldrowloc_array, RowLocation[] newrowloc_array) Fetch the next N rows from the table.private voidSet scan position to just after current page.protected voidReposition the scan upon entering the fetchRows loop.protected voidMove the scan from SCAN_INIT to SCAN_INPROGRESS.Methods inherited from class HeapScan
fetchLocation, fetchNext, fetchNextGroup, getScanInfo, makeRowLocation, next, positionAtRowLocation, queueDeletePostCommitWork, reopenScanByRowLocation, setRowLocationArray, setRowLocationArrayMethods inherited from class 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, setScanStateMethods inherited from class GenericController
checkConsistency, debugConglomerate, getEstimatedRowCount, getInternalTablePropertySet, getOpenConglom, getRowPositionFromRowLocation, getSpaceInfo, getTableProperties, init, isKeyed, isTableLocked, newRowLocationTemplate, setEstimatedRowCountMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface GenericScanController
close, isKeyed, isTableLocked, newRowLocationTemplate, reopenScanMethods inherited from interface RowCountable
getEstimatedRowCount, setEstimatedRowCountMethods inherited from interface ScanController
delete, didNotQualify, doesCurrentPositionQualify, fetch, fetchWithoutQualify, isCurrentPositionDeleted, isHeldAfterCommit, replaceMethods inherited from interface ScanManager
closeForEndTransaction, fetchSet
-
Field Details
-
pagenum_to_start_moving_rows
private long pagenum_to_start_moving_rowsFields of HeapScan
-
-
Constructor Details
-
HeapCompressScan
public HeapCompressScan()The only constructor for a HeapCompressScan returns a scan in the closed state, the caller must call open.
-
-
Method Details
-
fetchNextGroup
public int fetchNextGroup(DataValueDescriptor[][] row_array, RowLocation[] old_rowloc_array, RowLocation[] new_rowloc_array) throws StandardException Protected override implementation of routines in GenericController class:- Specified by:
fetchNextGroupin interfaceGroupFetchScanController- Overrides:
fetchNextGroupin classHeapScan- Throws:
StandardException
-
fetchRowsForCompress
private int fetchRowsForCompress(DataValueDescriptor[][] row_array, RowLocation[] oldrowloc_array, RowLocation[] newrowloc_array) throws StandardException Fetch the next N rows from the table.Utility routine used by both fetchSet() and fetchNextGroup().
- Throws:
StandardException- Standard exception policy.
-
positionAtResumeScan
Reposition the scan upon entering the fetchRows loop.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.
- Overrides:
positionAtResumeScanin classGenericScanController- Throws:
StandardException- Standard exception policy.
-
positionAtStartForForwardScan
Move the scan from SCAN_INIT to SCAN_INPROGRESS.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.
- Overrides:
positionAtStartForForwardScanin classGenericScanController- Throws:
StandardException- Standard exception policy.
-
positionAfterThisPage
Set scan position to just after current page.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.
- Throws:
StandardException- Standard exception policy.
-