ResultSet class for NoPutResultSets which
contain a scan. Returns rows that may be a column sub-set of the
rows in the underlying object to be scanned. If accessedCols is
not null then a sub-set of columns will be fetched from the underlying
object (usually into the candidate row object), then the returned
rows will be a compacted form of that row, with the not-fetched columns
moved out. If accessedCols is null then the full row will be returned.
0 1 2 3 4
[ - , COL1, - , - , COL4 ]
0 1
[ COL1, COL4 ]
| Modifier and Type | Field and Description |
|---|---|
| protected FormatableBitSet | accessedCols
If not null indicates the subset of columns that need to be pulled from the underlying object to be scanned. |
| pack-priv final ExecRow | candidate
The candidate row, matches the shape of the rows in the underlying object to be scanned. |
| protected boolean | fetchRowLocations
true if the scan should pick up row locations |
| public String | |
| pack-priv int | isolationLevel
The scan isolation level. |
| private boolean | isolationLevelNeedsUpdate
Tells whether the isolation level needs to be updated. |
| pack-priv int | lockMode
The actual lock mode used. |
| pack-priv final ExecRowBuilder | resultRowBuilder
Object used to create and reset the candidate row. |
| private final int | suppliedLockMode
The lock mode supplied through the constructor. |
| private final boolean | tableLocked
If true, the table is marked as table locked in SYS.SYSTABLES. |
| public String | |
| private final boolean | unspecifiedIsolationLevel
If true, the isolation level is unspecified and must be refreshed on each open. |
| Access | Constructor and Description |
|---|---|
| pack-priv | ScanResultSet(Activation
the activation activation, int number of the result set (unique within statement) resultSetNumber, int identifier of saved object for row template resultRowTemplate, int lock mode (record or table) lockMode, boolean true if marked as table locked in SYS.SYSTABLES tableLocked, int language isolation level for the result set isolationLevel, int Identifier of saved object for accessedCols,
-1 if need to fetch all columns. colRefItem, double estimated row count optimizerEstimatedRowCount, double estimated cost optimizerEstimatedCost)Construct a |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv abstract boolean | canGetInstantaneousLocks()
Can we get instantaneous locks when getting share row locks at READ COMMITTED. |
| public void | close()
Overrides org. Implements org. Close the result set. |
| private int | Returns: lock modethe (language) isolation level languageLevel)Get the lock mode based on the language isolation level. |
| public int | getScanIsolationLevel()
Overrides org. Implements org. Return the isolation level of the scan in the result set. |
| pack-priv void | |
| protected void | |
| public Element | toXML(Element
Node to put content into. parentNode, String Element tag for content tag)Overrides org. Implements org. Produce an xml image of this ResultSet and its descendant ResultSets. |
| private int | Returns: store isolation levellanguage isolation level languageLevel)Translate isolation level from language to store. |
| accessedCols | back to summary |
|---|---|
| protected FormatableBitSet accessedCols If not null indicates the subset of columns that need to be pulled from the underlying object to be scanned. Set from the PreparedStatement's saved objects, if it exists. | |
| candidate | back to summary |
|---|---|
| pack-priv final ExecRow candidate The candidate row, matches the shape of the rows in the underlying object to be scanned. | |
| fetchRowLocations | back to summary |
|---|---|
| protected boolean fetchRowLocations true if the scan should pick up row locations | |
| indexName | back to summary |
|---|---|
| public String indexName | |
| isolationLevel | back to summary |
|---|---|
| pack-priv int isolationLevel The scan isolation level. | |
| isolationLevelNeedsUpdate | back to summary |
|---|---|
| private boolean isolationLevelNeedsUpdate Tells whether the isolation level needs to be updated. | |
| lockMode | back to summary |
|---|---|
| pack-priv int lockMode The actual lock mode used. | |
| resultRowBuilder | back to summary |
|---|---|
| pack-priv final ExecRowBuilder resultRowBuilder Object used to create and reset the candidate row. | |
| suppliedLockMode | back to summary |
|---|---|
| private final int suppliedLockMode The lock mode supplied through the constructor. | |
| tableLocked | back to summary |
|---|---|
| private final boolean tableLocked If true, the table is marked as table locked in SYS.SYSTABLES. | |
| tableName | back to summary |
|---|---|
| public String tableName | |
| unspecifiedIsolationLevel | back to summary |
|---|---|
| private final boolean unspecifiedIsolationLevel If true, the isolation level is unspecified and must be refreshed on each open. | |
| ScanResultSet | back to summary |
|---|---|
| pack-priv ScanResultSet(Activation activation, int resultSetNumber, int resultRowTemplate, int lockMode, boolean tableLocked, int isolationLevel, int colRefItem, double optimizerEstimatedRowCount, double optimizerEstimatedCost) throws StandardException Construct a
| |
| canGetInstantaneousLocks | back to summary |
|---|---|
| pack-priv abstract boolean canGetInstantaneousLocks() Can we get instantaneous locks when getting share row locks at READ COMMITTED. | |
| close | back to summary |
|---|---|
| public void close() throws StandardException Overrides org. Implements org. Close the result set.
| |
| getLockMode | back to summary |
|---|---|
| private int getLockMode(int languageLevel) Get the lock mode based on the language isolation level. Always do row locking unless the isolation level is serializable or the table is marked as table locked.
| |
| getScanIsolationLevel | back to summary |
|---|---|
| public int getScanIsolationLevel() Overrides org. Implements org. Return the isolation level of the scan in the result set.
| |
| initIsolationLevel | back to summary |
|---|---|
| pack-priv void initIsolationLevel() Initialize the isolation level and the lock mode. If the result set was
constructed with an explicit isolation level, or if the isolation level
has already been initialized, this is a no-op. All sub-classes should
invoke this method from their | |
| setRowLocationsState | back to summary |
|---|---|
| protected void setRowLocationsState() throws StandardException Determine whether this scan should return row locations | |
| toXML | back to summary |
|---|---|
| public Element toXML(Element parentNode, String tag) throws Exception Overrides org. Implements org. Doc from org. Produce an xml image of this ResultSet and its descendant ResultSets. Appends an element to the parentNode and returns the appended element. | |
| translateLanguageIsolationLevel | back to summary |
|---|---|
| private int translateLanguageIsolationLevel(int languageLevel) Translate isolation level from language to store.
| |