This abstract class does not define the entire ResultSet interface, but leaves the 'get' half of the interface for subtypes to implement. It is package-visible only, with its methods being public for exposure by its subtypes.
| Modifier and Type | Field and Description |
|---|---|
| protected int[] | |
| protected ExecRow | |
| protected int | |
| private boolean | |
| private boolean | |
| public final int | |
| protected TargetResultSet |
| Access | Constructor and Description |
|---|---|
| pack-priv | NoPutResultSetImpl(Activation
The activation activation, int The resultSetNumber resultSetNumber, double The optimizer's estimated number
of rows. optimizerEstimatedRowCount, double The optimizer's estimated cost optimizerEstimatedCost)Constructor |
| Modifier and Type | Method and Description |
|---|---|
| public void | clearCurrentRow()
Implements org. Clear the current row |
| protected void | clearOrderableCache(Qualifier[][]
The Qualifiers to clear qualifiers)Clear the Orderable cache for each qualifier. |
| public void | close()
Implements org. Close needs to invalidate any dependent statements, if this is a cursor. |
| public void | closeRowSource()
Implements org. closeRowSource tells the RowSource that it will no longer need to return any rows and it can release any resource it may have. |
| public String | getCursorName()
Implements org. Return my cursor name for JDBC. |
| public DataValueDescriptor[] | getNextRowFromRowSource()
Implements org. Get the next row as an array of column objects. |
| public ResultDescription | getResultDescription()
Overrides org. Implements org. Returns the description of the table's rows |
| public FormatableBitSet | getValidColumns()
Implements org. getValidColumns describes the DataValueDescriptor[] returned by all calls to the getNextRowFromRowSource() call. |
| public boolean | Returns: Whether or not the result set is for update.Overrides org. Implements org. Is this ResultSet or it's source result set for update This method will be overriden in the inherited Classes if it is true |
| public void | markRowAsDeleted()
Implements org. Marks the resultSet's currentRow as deleted after a delete has been issued by either by using positioned delete or JDBC's deleteRow method. |
| public boolean | needsRowLocation()
Implements org. needsRowLocation returns true iff this the row source expects the drainer of the row source to call rowLocation after getting a row from getNextRowFromRowSource. |
| public boolean | |
| public boolean | needsToClone()
Implements org. Does the caller of getNextRowFromRowSource() need to clone the row in order to keep a reference to the row past the getNextRowFromRowSource() call which returned the row. |
| public void | offendingRowLocation(RowLocation rl, long containdId)
Implements org.
|
| public void | positionScanAtRowLocation(RowLocation
row location of the current cursor row rl)Implements org. Positions the cursor in the specified rowLocation. |
| public static String | |
| public int | resultSetNumber()
Overrides org. Implements org. Get the number of this ResultSet, which is guaranteed to be unique within a statement. |
| public void | rowLocation(RowLocation rl)
Implements org. rowLocation is a callback for the drainer of the row source to return the rowLocation of the current row, i.e, the row that is being returned by getNextRowFromRowSource. |
| public final void | setCurrentRow(ExecRow
the new current row row)Implements org. Set the current row to the row passed in. |
| public void | setHasDeferrableChecks()
Implements org. Set that we are acting on behalf of an insert result set that has deferrable check constraints |
| public void | setNeedsRowLocation(boolean needsRowLocation)
Implements org. Set whether or not the NPRS need the row location when acting as a row source. |
| public void | setTargetResultSet(TargetResultSet
The TargetResultSet. trs)Implements org. Notify a NPRS that it is the source for the specified TargetResultSet. |
| protected boolean | |
| protected boolean | Returns: true means not to do the scanAn index row for the start position startPosition, ExecIndexRow An index row for the stop position stopPosition)Return true if we should skip the scan due to nulls in the start or stop position when the predicate on the column(s) in question do not implement ordered null semantics. |
| protected DataValueDescriptor[] | unpackHashValue(Object hashValue)
Get all of the columns out of a value stored in a BackingStoreHashtable. |
| public void | updateRow(ExecRow
new values for the currentRow row, RowChanger holds information about row: what columns of it is to
be used for updating, and what underlying base table column each
such column corresponds to. rowChanger)Implements org. Updates the resultSet's current row with it's new values after an update has been issued either using positioned update or JDBC's udpateRow method. |
| checkNullCols | back to summary |
|---|---|
| protected int[] checkNullCols | |
| clonedExecRow | back to summary |
|---|---|
| protected ExecRow clonedExecRow | |
| cncLen | back to summary |
|---|---|
| protected int cncLen | |
| needsRowLocation | back to summary |
|---|---|
| private boolean needsRowLocation | |
| needsRowLocationForDeferredCheckConstraints | back to summary |
|---|---|
| private boolean needsRowLocationForDeferredCheckConstraints | |
| resultSetNumber | back to summary |
|---|---|
| public final int resultSetNumber | |
| targetResultSet | back to summary |
|---|---|
| protected TargetResultSet targetResultSet | |
| NoPutResultSetImpl | back to summary |
|---|---|
| pack-priv NoPutResultSetImpl(Activation activation, int resultSetNumber, double optimizerEstimatedRowCount, double optimizerEstimatedCost) Constructor
| |
| clearCurrentRow | back to summary |
|---|---|
| public void clearCurrentRow() Implements org. Clear the current row | |
| clearOrderableCache | back to summary |
|---|---|
| protected void clearOrderableCache(Qualifier[][] qualifiers) throws StandardException Clear the Orderable cache for each qualifier. (This should be done each time a scan/conglomerate with qualifiers is reopened.)
| |
| close | back to summary |
|---|---|
| public void close() throws StandardException Implements org. Close needs to invalidate any dependent statements, if this is a cursor. Must be called by any subclasses that override close().
| |
| closeRowSource | back to summary |
|---|---|
| public void closeRowSource() Implements org. Doc from org. closeRowSource tells the RowSource that it will no longer need to return any rows and it can release any resource it may have. Subsequent call to any method on the RowSource will result in undefined behavior. A closed rowSource can be closed again.
| |
| getCursorName | back to summary |
|---|---|
| public String getCursorName() Implements org. Return my cursor name for JDBC. Can be null.
| |
| getNextRowFromRowSource | back to summary |
|---|---|
| public DataValueDescriptor[] getNextRowFromRowSource() throws StandardException Implements org. Doc from org. Get the next row as an array of column objects. The column objects can
be a JBMS Storable or any
Serializable/Externalizable/Formattable/Streaming type.
A null column can be specified by leaving the object null, or indicated by returning a non-null getValidColumns. On streaming columns, it can be indicated by returning a non-null get FieldStates. If RowSource.needToClone() is true then the returned row (the DataValueDescriptor[]) is guaranteed not to be modified by drainer of the RowSource (except that the input stream will be read, of course) and drainer will keep no reference to it before making the subsequent nextRow call. So it is safe to return the same DataValueDescriptor[] in subsequent nextRow calls if that is desirable for performance reasons. If RowSource.needToClone() is false then the returned row (the DataValueDescriptor[]) may be be modified by drainer of the RowSource, and the drainer may keep a reference to it after making the subsequent nextRow call. In this case the client should severe all references to the row after returning it from getNextRowFromRowSource().
| |
| getResultDescription | back to summary |
|---|---|
| public ResultDescription getResultDescription() Overrides org. Implements org. Returns the description of the table's rows
| |
| getValidColumns | back to summary |
|---|---|
| public FormatableBitSet getValidColumns() Implements org. Doc from org. getValidColumns describes the DataValueDescriptor[] returned by all calls to the getNextRowFromRowSource() call. If getValidColumns returns null, the number of columns is given by the DataValueDescriptor.length where DataValueDescriptor[] is returned by the preceeding getNextRowFromRowSource() call. Column N maps to DataValueDescriptor[N], where column numbers start at zero. If getValidColumns return a non null validColumns FormatableBitSet the number of columns is given by the number of bits set in validColumns. Column N is not in the partial row if validColumns.get(N) returns false. Column N is in the partial row if validColumns.get(N) returns true. If column N is in the partial row then it maps to DataValueDescriptor[M] where M is the count of calls to validColumns.get(i) that return true where i < N. If DataValueDescriptor.length is greater than the number of columns indicated by validColumns the extra entries are ignored.
| |
| isForUpdate | back to summary |
|---|---|
| public boolean isForUpdate() Overrides org. Implements org. Is this ResultSet or it's source result set for update This method will be overriden in the inherited Classes if it is true
| |
| markRowAsDeleted | back to summary |
|---|---|
| public void markRowAsDeleted() throws StandardException Implements org. Doc from org. Marks the resultSet's currentRow as deleted after a delete has been issued by either by using positioned delete or JDBC's deleteRow method.
| |
| needsRowLocation | back to summary |
|---|---|
| public boolean needsRowLocation() Implements org. Doc from org. needsRowLocation returns true iff this the row source expects the drainer of the row source to call rowLocation after getting a row from getNextRowFromRowSource.
| |
| needsRowLocationForDeferredCheckConstraints | back to summary |
|---|---|
| public boolean needsRowLocationForDeferredCheckConstraints() Implements org. | |
| needsToClone | back to summary |
|---|---|
| public boolean needsToClone() Implements org. Doc from org. Does the caller of getNextRowFromRowSource() need to clone the row in order to keep a reference to the row past the getNextRowFromRowSource() call which returned the row. This call must always return the same for all rows in a RowSource (ie. the caller will call this once per scan from a RowSource and assume the behavior is true for all rows in the RowSource).
| |
| offendingRowLocation | back to summary |
|---|---|
| public void offendingRowLocation(RowLocation rl, long containdId) throws StandardException Implements org. | |
| positionScanAtRowLocation | back to summary |
|---|---|
| public void positionScanAtRowLocation(RowLocation rl) throws StandardException Implements org. Doc from org. Positions the cursor in the specified rowLocation. Used for scrollable insensitive result sets in order to position the cursor back to a row that has already be visited.
| |
| printQualifiers | back to summary |
|---|---|
| public static String printQualifiers(Qualifier[][] qualifiers) Return a 2-d array of Qualifiers as a String | |
| resultSetNumber | back to summary |
|---|---|
| public int resultSetNumber() Overrides org. Implements org. Doc from org. Get the number of this ResultSet, which is guaranteed to be unique within a statement.
| |
| rowLocation | back to summary |
|---|---|
| public void rowLocation(RowLocation rl) throws StandardException Implements org. Doc from org. rowLocation is a callback for the drainer of the row source to return
the rowLocation of the current row, i.e, the row that is being returned
by getNextRowFromRowSource. This interface is for the purpose of
loading a base table with index. In that case, the indices can be
built at the same time the base table is laid down once the row
location of the base row is known. This is an example pseudo code on
how this call is expected to be used:
boolean needsRL = rowSource.needsRowLocation();
DataValueDescriptor[] row;
while((row = rowSource.getNextRowFromRowSource()) != null)
{
RowLocation rl = heapConglomerate.insertRow(row);
if (needsRL)
rowSource.rowLocation(rl);
}
NeedsRowLocation and rowLocation will ONLY be called by a drainer of the row source which CAN return a row location. Drainer of row source which cannot return rowLocation will guarantee to not call either callbacks. Conversely, if NeedsRowLocation is called and it returns true, then for every row return by getNextRowFromRowSource, a rowLocation callback must also be issued with the row location of the row. Implementor of both the source and the drain of the row source must be aware of this protocol. The RowLocation object is own by the caller of rowLocation, in other words, the drainer of the RowSource. This is so that we don't need to new a row location for every row. If the Row Source wants to keep the row location, it needs to clone it (RowLocation is a ClonableObject).
| |
| setCurrentRow | back to summary |
|---|---|
| public final void setCurrentRow(ExecRow row) Implements org. Set the current row to the row passed in.
| |
| setHasDeferrableChecks | back to summary |
|---|---|
| public void setHasDeferrableChecks() Implements org. Doc from org. Set that we are acting on behalf of an insert result set that has deferrable check constraints | |
| setNeedsRowLocation | back to summary |
|---|---|
| public void setNeedsRowLocation(boolean needsRowLocation) Implements org. Doc from org. Set whether or not the NPRS need the row location when acting as a row source. (The target result set determines this.)
| |
| setTargetResultSet | back to summary |
|---|---|
| public void setTargetResultSet(TargetResultSet trs) Implements org. Doc from org. Notify a NPRS that it is the source for the specified TargetResultSet. This is useful when doing bulk insert.
| |
| skipRow | back to summary |
|---|---|
| protected boolean skipRow(ExecRow row) throws StandardException Return true if we should skip the scan due to nulls in the row when the start or stop positioners on the columns containing null do not implement ordered null semantics.
| |
| skipScan | back to summary |
|---|---|
| protected boolean skipScan(ExecIndexRow startPosition, ExecIndexRow stopPosition) throws StandardException Return true if we should skip the scan due to nulls in the start or stop position when the predicate on the column(s) in question do not implement ordered null semantics. beetle 4464, we also compact the areNullsOrdered flags into checkNullCols here.
| |
| unpackHashValue | back to summary |
|---|---|
| protected DataValueDescriptor[] unpackHashValue(Object hashValue) Get all of the columns out of a value stored in a BackingStoreHashtable. | |
| updateRow | back to summary |
|---|---|
| public void updateRow(ExecRow row, RowChanger rowChanger) throws StandardException Implements org. Doc from org. Updates the resultSet's current row with it's new values after an update has been issued either using positioned update or JDBC's udpateRow method.
| |