public class HashScanResultSet extends ScanResultSet implements CursorResultSet
DataValueDescriptor[]s or Lists of
DataValueDescriptor[]. The store builds the hash table. When a
collision occurs, the store builds a List with the colliding
DataValueDescriptor[]s.accessedCols, candidate, isolationLevel, lockMode, resultRowBuildercheckNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSetactivation, beginTime, closeTime, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArrayCURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST| 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, initIsolationLevelclearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, markRowAsDeleted, needsRowLocation, needsToClone, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, updateRowaddWarning, attachStatementContext, checkCancellationFlag, checkRowPosition, 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, setCompatRowclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddWarning, 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, setBeforeFirstRowprivate 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 tableName
public java.lang.String userSuppliedOptimizerOverrides
public java.lang.String indexName
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
StandardExceptionboolean canGetInstantaneousLocks()
canGetInstantaneousLocks in class ScanResultSetpublic void openCore()
throws StandardException
openCore in interface NoPutResultSetStandardException - thrown on failure to openpublic void reopenCore()
throws StandardException
reopenCore in interface NoPutResultSetreopenCore in class BasicNoPutResultSetImplStandardException - thrown if cursor finished.NoPutResultSet.openCore()private void resetProbeVariables()
throws StandardException
StandardExceptionpublic ExecRow getNextRowCore() throws StandardException
getNextRowCore in interface NoPutResultSetgetNextRowCore in class BasicNoPutResultSetImplStandardException - thrown on failure to get next rowNoPutResultSet.getNextRowCore()public void close()
throws StandardException
close in interface ResultSetclose in class ScanResultSetStandardException - thrown on errorpublic long getTimeSpent(int type)
getTimeSpent in interface ResultSettype - CURRENT_RESULTSET_ONLY - time spent only in this ResultSet
ENTIRE_RESULTSET_TREE - time spent in this ResultSet and below.public boolean requiresRelocking()
NoPutResultSetrequiresRelocking in interface NoPutResultSetrequiresRelocking in class BasicNoPutResultSetImplNoPutResultSet.requiresRelocking()public RowLocation getRowLocation() throws StandardException
getRowLocation in interface CursorResultSetStandardException - thrown on failure to get row locationCursorResultSetpublic ExecRow getCurrentRow() throws StandardException
getCurrentRow in interface CursorResultSetStandardException - thrown on failure.CursorResultSetpublic 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 NoPutResultSetisForUpdate in class NoPutResultSetImplApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.