public class TableScanCursor extends CursorImpl
| Modifier and Type | Class and Description |
|---|---|
private class |
TableScanCursor.ForwardScanDirHandler
Handles moving the table scan cursor forward.
|
private class |
TableScanCursor.ReverseScanDirHandler
Handles moving the table scan cursor backward.
|
private class |
TableScanCursor.ScanDirHandler
Handles moving the table scan cursor in a given direction.
|
private static class |
TableScanCursor.ScanPosition
Value object which maintains the current position of a TableScanCursor.
|
CursorImpl.BaseIterator, CursorImpl.DirHandler, CursorImpl.IdImpl, CursorImpl.PositionImpl, CursorImpl.SavepointImplCursor.Id, Cursor.Position, Cursor.Savepoint| Modifier and Type | Field and Description |
|---|---|
private TableScanCursor.ScanDirHandler |
_forwardDirHandler
ScanDirHandler for forward traversal
|
private UsageMap.PageCursor |
_ownedPagesCursor
Cursor over the pages that this table owns
|
private TableScanCursor.ScanDirHandler |
_reverseDirHandler
ScanDirHandler for backward traversal
|
private static TableScanCursor.ScanPosition |
FIRST_SCAN_POSITION
first position for the TableScanCursor
|
private static TableScanCursor.ScanPosition |
LAST_SCAN_POSITION
last position for the TableScanCursor
|
_columnMatcher, _curPos, _prevPos, MOVE_FORWARD, MOVE_REVERSE| Constructor and Description |
|---|
TableScanCursor(TableImpl table) |
| Modifier and Type | Method and Description |
|---|---|
protected CursorImpl.PositionImpl |
findAnotherPosition(TableImpl.RowState rowState,
CursorImpl.PositionImpl curPos,
boolean moveForward)
Finds the next non-deleted row after the given row (as defined by this
cursor) and returns the id of the row, where "next" may be backwards if
moveForward is
false. |
protected TableScanCursor.ScanDirHandler |
getDirHandler(boolean moveForward)
Returns the DirHandler for the given movement direction.
|
protected CursorImpl.PositionImpl |
getRowPosition(RowIdImpl rowId)
Returns the appropriate position information for the given row (which is
the current row and is valid).
|
protected boolean |
isUpToDate()
Returns
true if this cursor is up-to-date with respect to the
relevant table and related table objects, false otherwise. |
protected void |
reset(boolean moveForward)
Resets this cursor for traversing the given direction.
|
protected void |
restorePositionImpl(CursorImpl.PositionImpl curPos,
CursorImpl.PositionImpl prevPos)
Restores a current and previous position for the cursor.
|
afterLast, beforeFirst, createCursor, currentRowMatches, currentRowMatches, currentRowMatches, currentRowMatchesImpl, currentRowMatchesImpl, deleteCurrentRow, findAnotherRow, findAnotherRow, findAnotherRowImpl, findAnotherRowImpl, findFirstRow, findFirstRow, findFirstRow, findNextRow, findNextRow, findNextRow, findRow, getColumnMatcher, getCurrentRow, getCurrentRow, getCurrentRowValue, getCurrentRowValue, getDefaultColumnMatcher, getErrorHandler, getFirstPosition, getFormat, getId, getLastPosition, getNextRow, getNextRow, getPageChannel, getPreviousRow, getPreviousRow, getRowState, getSavepoint, getTable, isAfterLast, isAtBeginning, isBeforeFirst, isCurrentRowDeleted, isCurrentRowValid, iterator, iterator, keepSearching, moveNextRows, movePreviousRows, moveToAnotherRow, moveToNextRow, moveToPreviousRow, newIterable, prepareSearchInfo, prepareSearchInfo, reset, restorePosition, restorePosition, restoreSavepoint, restoreSavepoint, setColumnMatcher, setCurrentRowValue, setCurrentRowValue, setErrorHandler, toString, updateCurrentRow, updateCurrentRowFromMapprivate static final TableScanCursor.ScanPosition FIRST_SCAN_POSITION
private static final TableScanCursor.ScanPosition LAST_SCAN_POSITION
private final TableScanCursor.ScanDirHandler _forwardDirHandler
private final TableScanCursor.ScanDirHandler _reverseDirHandler
private final UsageMap.PageCursor _ownedPagesCursor
public TableScanCursor(TableImpl table)
protected TableScanCursor.ScanDirHandler getDirHandler(boolean moveForward)
CursorImplgetDirHandler in class CursorImplprotected boolean isUpToDate()
CursorImpltrue if this cursor is up-to-date with respect to the
relevant table and related table objects, false otherwise.isUpToDate in class CursorImplprotected void reset(boolean moveForward)
CursorImplreset in class CursorImplprotected void restorePositionImpl(CursorImpl.PositionImpl curPos, CursorImpl.PositionImpl prevPos) throws java.io.IOException
CursorImplrestorePositionImpl in class CursorImpljava.io.IOExceptionprotected CursorImpl.PositionImpl getRowPosition(RowIdImpl rowId) throws java.io.IOException
CursorImplgetRowPosition in class CursorImpljava.io.IOExceptionprotected CursorImpl.PositionImpl findAnotherPosition(TableImpl.RowState rowState, CursorImpl.PositionImpl curPos, boolean moveForward) throws java.io.IOException
CursorImplfalse. If there are no more rows, the returned
rowId should equal the value returned by CursorImpl.getLastPosition() if
moving forward and CursorImpl.getFirstPosition() if moving backward.findAnotherPosition in class CursorImpljava.io.IOException