public class HashScanResultSet extends ScanResultSet implements CursorResultSet
DataValueDescriptor[]
s or List
s of
DataValueDescriptor[]
. The store builds the hash table. When a
collision occurs, the store builds a List
with the colliding
DataValueDescriptor[]
s.BasicNoPutResultSetImpl.FieldComparator
accessedCols, candidate, fetchRowLocations, indexName, isolationLevel, lockMode, resultRowBuilder, tableName
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet
activation, beginTime, closeTime, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE, TEMPORARY_RESULT_SET_NUMBER
Constructor and Description |
---|
HashScanResultSet(long conglomId,
StaticCompiledOpenConglomInfo scoci,
Activation activation,
int resultRowTemplate,
int resultSetNumber,
GeneratedMethod startKeyGetter,
int startSearchOperator,
GeneratedMethod stopKeyGetter,
int stopSearchOperator,
boolean sameStartStopPosition,
Qualifier[][] scanQualifiers,
Qualifier[][] nextQualifiers,
int initialCapacity,
float loadFactor,
int maxCapacity,
int hashKeyItem,
java.lang.String tableName,
java.lang.String userSuppliedOptimizerOverrides,
java.lang.String indexName,
boolean isConstraint,
boolean forUpdate,
int colRefItem,
int lockMode,
boolean tableLocked,
int isolationLevel,
boolean skipNullKeyColumns,
double optimizerEstimatedRowCount,
double optimizerEstimatedCost) |
Modifier and Type | Method and Description |
---|---|
(package private) boolean |
canGetInstantaneousLocks()
Can we get instantaneous locks when getting share row
locks at READ COMMITTED.
|
void |
close()
If the result set has been opened,
close the open scan.
|
ExecRow |
getCurrentRow()
This result set has its row from the last fetch done.
|
ExecRow |
getNextRowCore()
Return the next row (if any) from the scan (if open).
|
RowLocation |
getRowLocation()
This result set has its row location from
the last fetch done.
|
java.util.Properties |
getScanProperties() |
long |
getTimeSpent(int type)
Return the total amount of time spent in this ResultSet
|
boolean |
isForUpdate()
Is this ResultSet or it's source result set for update
|
void |
openCore()
open a scan on the table. scan parameters are evaluated
at each open, so there is probably some way of altering
their values...
|
private java.lang.String |
printPosition(int searchOperator,
GeneratedMethod positionGetter,
ExecIndexRow eiRow)
Return a start or stop positioner as a String.
|
java.lang.String |
printStartPosition() |
java.lang.String |
printStopPosition() |
void |
reopenCore()
reopen this ResultSet.
|
boolean |
requiresRelocking()
Do we need to relock the row when going to the heap.
|
private void |
resetProbeVariables() |
getScanIsolationLevel, initIsolationLevel, setRowLocationsState, toXML
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, markRowAsDeleted, needsRowLocation, needsRowLocationForDeferredCheckConstraints, needsToClone, offendingRowLocation, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setHasDeferrableChecks, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, unpackHashValue, updateRow
addWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, childrenToXML, cleanUp, dumpTimeStats, finish, finishAndRTS, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCompactRow, getCurrentTimeMillis, getElapsedMillis, getEndExecutionTimestamp, getEstimatedRowCount, getExecuteTime, getExecutionFactory, getFirstRow, getLanguageConnectionContext, getLastRow, getNextRow, getPointOfAttachment, getPreviousRow, getRelativeRow, getRowNumber, getSubqueryTrackingArray, getTransactionController, getWarnings, isClosed, isXplainOnlyMode, markAsTopResultSet, modifiedRowCount, open, recordConstructorTime, returnsRows, setAfterLastRow, setBeforeFirstRow, setCompactRow, setCompatRow, toXML
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addWarning, checkRowPosition, cleanUp, clearCurrentRow, finish, getAbsoluteRow, getActivation, getAutoGeneratedKeysResultset, getBeginExecutionTimestamp, getCursorName, getEndExecutionTimestamp, getExecuteTime, getFirstRow, getLastRow, getNextRow, getPreviousRow, getRelativeRow, getResultDescription, getRowNumber, getSubqueryTrackingArray, getWarnings, isClosed, modifiedRowCount, open, returnsRows, setAfterLastRow, setBeforeFirstRow, toXML
private boolean hashtableBuilt
private ExecIndexRow startPosition
private ExecIndexRow stopPosition
protected ExecRow compactRow
protected boolean firstNext
private int numFetchedOnNext
private int entryVectorSize
private java.util.List entryVector
private long conglomId
protected StaticCompiledOpenConglomInfo scoci
private GeneratedMethod startKeyGetter
private int startSearchOperator
private GeneratedMethod stopKeyGetter
private int stopSearchOperator
public Qualifier[][] scanQualifiers
public Qualifier[][] nextQualifiers
private int initialCapacity
private float loadFactor
private int maxCapacity
public java.lang.String userSuppliedOptimizerOverrides
public boolean forUpdate
private boolean runTimeStatisticsOn
public int[] keyColumns
private boolean sameStartStopPosition
private boolean skipNullKeyColumns
private boolean keepAfterCommit
protected BackingStoreHashtable hashtable
protected boolean eliminateDuplicates
public java.util.Properties scanProperties
public java.lang.String startPositionString
public java.lang.String stopPositionString
public int hashtableSize
public boolean isConstraint
public static final int DEFAULT_INITIAL_CAPACITY
public static final float DEFAULT_LOADFACTOR
public static final int DEFAULT_MAX_CAPACITY
HashScanResultSet(long conglomId, StaticCompiledOpenConglomInfo scoci, Activation activation, int resultRowTemplate, int resultSetNumber, GeneratedMethod startKeyGetter, int startSearchOperator, GeneratedMethod stopKeyGetter, int stopSearchOperator, boolean sameStartStopPosition, Qualifier[][] scanQualifiers, Qualifier[][] nextQualifiers, int initialCapacity, float loadFactor, int maxCapacity, int hashKeyItem, java.lang.String tableName, java.lang.String userSuppliedOptimizerOverrides, java.lang.String indexName, boolean isConstraint, boolean forUpdate, int colRefItem, int lockMode, boolean tableLocked, int isolationLevel, boolean skipNullKeyColumns, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException
StandardException
boolean canGetInstantaneousLocks()
canGetInstantaneousLocks
in class ScanResultSet
public void openCore() throws StandardException
openCore
in interface NoPutResultSet
StandardException
- thrown on failure to openpublic void reopenCore() throws StandardException
reopenCore
in interface NoPutResultSet
reopenCore
in class BasicNoPutResultSetImpl
StandardException
- thrown if cursor finished.NoPutResultSet.openCore()
private void resetProbeVariables() throws StandardException
StandardException
public ExecRow getNextRowCore() throws StandardException
getNextRowCore
in interface NoPutResultSet
getNextRowCore
in class BasicNoPutResultSetImpl
StandardException
- thrown on failure to get next rowNoPutResultSet.getNextRowCore()
public void close() throws StandardException
close
in interface ResultSet
close
in class ScanResultSet
StandardException
- thrown on errorpublic long getTimeSpent(int type)
getTimeSpent
in interface ResultSet
type
- CURRENT_RESULTSET_ONLY - time spent only in this ResultSet
ENTIRE_RESULTSET_TREE - time spent in this ResultSet and below.public boolean requiresRelocking()
NoPutResultSet
requiresRelocking
in interface NoPutResultSet
requiresRelocking
in class BasicNoPutResultSetImpl
NoPutResultSet.requiresRelocking()
public RowLocation getRowLocation() throws StandardException
getRowLocation
in interface CursorResultSet
StandardException
- thrown on failure to get row locationCursorResultSet
public ExecRow getCurrentRow() throws StandardException
getCurrentRow
in interface CursorResultSet
StandardException
- thrown on failure.CursorResultSet
public java.lang.String printStartPosition()
public java.lang.String printStopPosition()
private java.lang.String printPosition(int searchOperator, GeneratedMethod positionGetter, ExecIndexRow eiRow)
public java.util.Properties getScanProperties()
public boolean isForUpdate()
isForUpdate
in interface NoPutResultSet
isForUpdate
in class NoPutResultSetImpl
Apache Derby V10.13 Internals - Copyright © 2004,2016 The Apache Software Foundation. All Rights Reserved.