|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl
org.apache.derby.impl.sql.execute.NoPutResultSetImpl
org.apache.derby.impl.sql.execute.ScanResultSet
org.apache.derby.impl.sql.execute.HashScanResultSet
public class HashScanResultSet
Takes a conglomerate and a table filter builds a hash table on the
specified column of the conglomerate on the 1st open. Look up into the
hash table is done on the hash key column. The hash table consists of
either 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.
Fields inherited from class org.apache.derby.impl.sql.execute.ScanResultSet |
---|
accessedCols, candidate, isolationLevel, lockMode |
Fields inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl |
---|
checkNullCols, clonedExecRow, cncLen, resultSetNumber, targetResultSet |
Fields inherited from class org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl |
---|
activation, beginTime, closeTime, constructorTime, currentRow, endExecutionTime, finished, isOpen, isTopResultSet, nextTime, numOpens, openTime, optimizerEstimatedCost, optimizerEstimatedRowCount, resultDescription, rowsFiltered, rowsSeen, startExecutionTime, subqueryTrackingArray |
Fields inherited from interface org.apache.derby.iapi.sql.ResultSet |
---|
CURRENT_RESULTSET_ONLY, ENTIRE_RESULTSET_TREE, ISAFTERLAST, ISBEFOREFIRST, ISFIRST, ISLAST |
Fields inherited from interface org.apache.derby.iapi.sql.execute.NoPutResultSet |
---|
ABSOLUTE, FIRST, LAST, NEXT, PREVIOUS, RELATIVE |
Constructor Summary | |
---|---|
HashScanResultSet(long conglomId,
StaticCompiledOpenConglomInfo scoci,
Activation activation,
GeneratedMethod resultRowAllocator,
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)
|
Method Summary | |
---|---|
(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()
|
Methods inherited from class org.apache.derby.impl.sql.execute.ScanResultSet |
---|
getScanIsolationLevel, initIsolationLevel |
Methods inherited from class org.apache.derby.impl.sql.execute.NoPutResultSetImpl |
---|
clearCurrentRow, clearOrderableCache, closeRowSource, getCursorName, getNextRowFromRowSource, getResultDescription, getValidColumns, markRowAsDeleted, needsRowLocation, needsToClone, positionScanAtRowLocation, printQualifiers, resultSetNumber, rowLocation, setCurrentRow, setNeedsRowLocation, setTargetResultSet, skipRow, skipScan, updateRow |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.apache.derby.iapi.sql.ResultSet |
---|
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 |
Field Detail |
---|
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 resultRowAllocator
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
Constructor Detail |
---|
HashScanResultSet(long conglomId, StaticCompiledOpenConglomInfo scoci, Activation activation, GeneratedMethod resultRowAllocator, 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
Method Detail |
---|
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
|
Built on Thu 2012-03-29 21:53:33+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |