java.lang.AutoCloseable
, java.sql.ResultSet
, java.sql.Wrapper
, AwareVTI
, VTICosting
public class TransactionTable extends VTITemplate implements VTICosting
select * from SYSCS_DIAG.TRANSACTION_TABLE
The TransactionTable virtual table takes a snap shot of the transaction table while the system is in flux, so it is possible that some transactions may be in transition state while the snap shot is taken. We choose to do this rather then impose extraneous timing restrictions so that the use of this tool will not alter the normal timing and flow of execution in the application.
The TransactionTable virtual table has the following columns:
VTITemplate.ColumnDescriptor
Modifier and Type | Field | Description |
---|---|---|
private static ResultColumnDescriptor[] |
columnInfo |
|
(package private) int |
currentRow |
|
(package private) boolean |
initialized |
|
private static java.sql.ResultSetMetaData |
metadata |
|
private TransactionInfo[] |
transactionTable |
|
private boolean |
wasNull |
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
defaultEstimatedCost, defaultEstimatedRowCount
Constructor | Description |
---|---|
TransactionTable() |
Modifier and Type | Method | Description |
---|---|---|
void |
close() |
|
double |
getEstimatedCostPerInstantiation(VTIEnvironment vtiEnvironment) |
Get the estimated cost for a single instantiation of a Table Function.
|
double |
getEstimatedRowCount(VTIEnvironment vtiEnvironment) |
Get the estimated row count for a single scan of a Table Function.
|
java.sql.ResultSetMetaData |
getMetaData() |
|
java.lang.String |
getString(int columnNumber) |
All columns in TransactionTable VTI is of String type.
|
boolean |
next() |
|
boolean |
supportsMultipleInstantiations(VTIEnvironment vtiEnvironment) |
Find out if the ResultSet of the Table Function can be instantiated multiple times.
|
boolean |
wasNull() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
updateObject, updateObject, updateObject, updateObject
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getContext, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getHoldability, getInt, getInt, getLong, getLong, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getReturnTableSignature, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, isWrapperFor, last, moveToCurrentRow, moveToInsertRow, notImplemented, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setContext, setFetchDirection, setFetchSize, unwrap, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp
private TransactionInfo[] transactionTable
boolean initialized
int currentRow
private boolean wasNull
private static final ResultColumnDescriptor[] columnInfo
private static final java.sql.ResultSetMetaData metadata
public TransactionTable() throws StandardException
StandardException
public java.sql.ResultSetMetaData getMetaData()
getMetaData
in interface java.sql.ResultSet
getMetaData
in class VTITemplate
ResultSet.getMetaData()
public boolean next() throws java.sql.SQLException
next
in interface java.sql.ResultSet
java.sql.SQLException
- if no transaction context can be foundResultSet.next()
public void close()
close
in interface java.lang.AutoCloseable
close
in interface java.sql.ResultSet
ResultSet.close()
public java.lang.String getString(int columnNumber)
getString
in interface java.sql.ResultSet
getString
in class VTITemplate
ResultSet.getString(int)
public boolean wasNull()
wasNull
in interface java.sql.ResultSet
wasNull
in class VTITemplate
ResultSet.wasNull()
public double getEstimatedRowCount(VTIEnvironment vtiEnvironment)
VTICosting
getEstimatedRowCount
in interface VTICosting
vtiEnvironment
- The state variable for optimizing the Table Function.VTICosting.getEstimatedRowCount(org.apache.derby.vti.VTIEnvironment)
public double getEstimatedCostPerInstantiation(VTIEnvironment vtiEnvironment)
VTICosting
getEstimatedCostPerInstantiation
in interface VTICosting
vtiEnvironment
- The state variable for optimizing the Table Function.VTICosting.getEstimatedCostPerInstantiation(org.apache.derby.vti.VTIEnvironment)
public boolean supportsMultipleInstantiations(VTIEnvironment vtiEnvironment)
VTICosting
supportsMultipleInstantiations
in interface VTICosting
vtiEnvironment
- The state variable for optimizing the Table Function.VTICosting.supportsMultipleInstantiations(org.apache.derby.vti.VTIEnvironment)
Apache Derby V10.14 Internals - Copyright © 2004,2018 The Apache Software Foundation. All Rights Reserved.