Top Description Fields Constructors Methods
org.apache.derby.diag

public Class TransactionTable

extends VTITemplate
implements VTICosting
Class Inheritance
All Implemented Interfaces
org.apache.derby.vti.VTICosting
Imports
org.apache.derby.shared.common.error.StandardException, org.apache.derby.iapi.sql.conn.LanguageConnectionContext, .ConnectionUtil, org.apache.derby.iapi.store.access.TransactionInfo, org.apache.derby.vti.VTITemplate, .VTICosting, .VTIEnvironment, org.apache.derby.iapi.sql.ResultColumnDescriptor, org.apache.derby.impl.jdbc.EmbedResultSetMetaData, org.apache.derby.shared.common.reference.Limits, org.apache.derby.iapi.util.StringUtil, java.sql.ResultSetMetaData, .SQLException, .Types

TransactionTable is a virtual table that shows all transactions currently in the database. This virtual table can be invoked by calling it directly
 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:

Field Summary

Modifier and TypeField and Description
private static final ResultColumnDescriptor[]
pack-priv int
pack-priv boolean
private static final ResultSetMetaData
private TransactionInfo[]
private boolean

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
close()

Implements java.sql.ResultSet.close.

Releases this ResultSet object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.

public double
getEstimatedCostPerInstantiation(VTIEnvironment
The state variable for optimizing the Table Function.
vtiEnvironment
)

Implements org.apache.derby.vti.VTICosting.getEstimatedCostPerInstantiation.

Get the estimated cost for a single instantiation of a Table Function.

public double
getEstimatedRowCount(VTIEnvironment
The state variable for optimizing the Table Function.
vtiEnvironment
)

Implements org.apache.derby.vti.VTICosting.getEstimatedRowCount.

Get the estimated row count for a single scan of a Table Function.

public ResultSetMetaData
getMetaData()

Overrides org.apache.derby.vti.VTITemplate.getMetaData.

Implements java.sql.ResultSet.getMetaData.

Retrieves the number, types and properties of this ResultSet object's columns.

public String
getString(int
the first column is 1, the second is 2, ...
columnNumber
)

Overrides org.apache.derby.vti.VTITemplate.getString.

Implements java.sql.ResultSet.getString.

All columns in TransactionTable VTI is of String type.

public boolean
next()

Implements java.sql.ResultSet.next.

Moves the cursor forward one row from its current position.

public boolean

Returns:

false
supportsMultipleInstantiations
(VTIEnvironment
The state variable for optimizing the Table Function.
vtiEnvironment
)

Implements org.apache.derby.vti.VTICosting.supportsMultipleInstantiations.

Find out if the ResultSet of the Table Function can be instantiated multiple times.

public boolean
wasNull()

Overrides org.apache.derby.vti.VTITemplate.wasNull.

Implements java.sql.ResultSet.wasNull.

Reports whether the last column read had a value of SQL NULL.

Inherited from org.apache.derby.vti.VTITemplate:
absoluteafterLastbeforeFirstcancelRowUpdatesclearWarningsdeleteRowfindColumnfirstgetArraygetArraygetAsciiStreamgetAsciiStreamgetBigDecimalgetBigDecimalgetBigDecimalgetBigDecimalgetBinaryStreamgetBinaryStreamgetBlobgetBlobgetBooleangetBooleangetBytegetBytegetBytesgetBytesgetCharacterStreamgetCharacterStreamgetClobgetClobgetConcurrencygetContextgetCursorNamegetDategetDategetDategetDategetDoublegetDoublegetFetchDirectiongetFetchSizegetFloatgetFloatgetHoldabilitygetIntgetIntgetLonggetLonggetNCharacterStreamgetNCharacterStreamgetNClobgetNClobgetNStringgetNStringgetObjectgetObjectgetObjectgetObjectgetObjectgetObjectgetRefgetRefgetReturnTableSignaturegetRowgetRowIdgetRowIdgetShortgetShortgetSQLXMLgetSQLXMLgetStatementgetStringgetTimegetTimegetTimegetTimegetTimestampgetTimestampgetTimestampgetTimestampgetTypegetUnicodeStreamgetUnicodeStreamgetURLgetURLgetWarningsinsertRowisAfterLastisBeforeFirstisClosedisFirstisLastisWrapperForlastmoveToCurrentRowmoveToInsertRownotImplementedpreviousrefreshRowrelativerowDeletedrowInsertedrowUpdatedsetContextsetFetchDirectionsetFetchSizeunwrapupdateArrayupdateArrayupdateAsciiStreamupdateAsciiStreamupdateAsciiStreamupdateAsciiStreamupdateAsciiStreamupdateAsciiStreamupdateBigDecimalupdateBigDecimalupdateBinaryStreamupdateBinaryStreamupdateBinaryStreamupdateBinaryStreamupdateBinaryStreamupdateBinaryStreamupdateBlobupdateBlobupdateBlobupdateBlobupdateBlobupdateBlobupdateBooleanupdateBooleanupdateByteupdateByteupdateBytesupdateBytesupdateCharacterStreamupdateCharacterStreamupdateCharacterStreamupdateCharacterStreamupdateCharacterStreamupdateCharacterStreamupdateClobupdateClobupdateClobupdateClobupdateClobupdateClobupdateDateupdateDateupdateDoubleupdateDoubleupdateFloatupdateFloatupdateIntupdateIntupdateLongupdateLongupdateNCharacterStreamupdateNCharacterStreamupdateNCharacterStreamupdateNCharacterStreamupdateNClobupdateNClobupdateNClobupdateNClobupdateNClobupdateNClobupdateNStringupdateNStringupdateNullupdateNullupdateObjectupdateObjectupdateObjectupdateObjectupdateRefupdateRefupdateRowupdateRowIdupdateRowIdupdateShortupdateShortupdateSQLXMLupdateSQLXMLupdateStringupdateStringupdateTimeupdateTimeupdateTimestampupdateTimestamp

Field Detail

columnInfoback to summary
private static final ResultColumnDescriptor[] columnInfo
currentRowback to summary
pack-priv int currentRow
initializedback to summary
pack-priv boolean initialized
metadataback to summary
private static final ResultSetMetaData metadata
transactionTableback to summary
private TransactionInfo[] transactionTable
wasNullback to summary
private boolean wasNull

Constructor Detail

TransactionTableback to summary
public TransactionTable() throws StandardException

Method Detail

closeback to summary
public void close()

Implements java.sql.ResultSet.close.

Doc from java.sql.ResultSet.close.

Releases this ResultSet object's database and JDBC resources immediately instead of waiting for this to happen when it is automatically closed.

The closing of a ResultSet object does not close the Blob, Clob or NClob objects created by the ResultSet. Blob, Clob or NClob objects remain valid for at least the duration of the transaction in which they are created, unless their free method is invoked.

When a ResultSet is closed, any ResultSetMetaData instances that were created by calling the getMetaData method remain accessible.

Note

A ResultSet object is automatically closed by the Statement object that generated it when that Statement object is closed, re-executed, or is used to retrieve the next result from a sequence of multiple results.

Calling the method close on a ResultSet object that is already closed is a no-op.

See Also
java.sql.ResultSet#close
getEstimatedCostPerInstantiationback to summary
public double getEstimatedCostPerInstantiation(VTIEnvironment vtiEnvironment)

Implements org.apache.derby.vti.VTICosting.getEstimatedCostPerInstantiation.

Doc from org.apache.derby.vti.VTICosting.getEstimatedCostPerInstantiation.

Get the estimated cost for a single instantiation of a Table Function.

Parameters
vtiEnvironment:VTIEnvironment

The state variable for optimizing the Table Function.

Returns:double

The estimated cost for a single instantiation of the Table Function.

See Also
VTICosting#getEstimatedCostPerInstantiation
getEstimatedRowCountback to summary
public double getEstimatedRowCount(VTIEnvironment vtiEnvironment)

Implements org.apache.derby.vti.VTICosting.getEstimatedRowCount.

Doc from org.apache.derby.vti.VTICosting.getEstimatedRowCount.

Get the estimated row count for a single scan of a Table Function.

Parameters
vtiEnvironment:VTIEnvironment

The state variable for optimizing the Table Function.

Returns:double

The estimated row count for a single scan of the Table Function.

See Also
VTICosting#getEstimatedRowCount
getMetaDataback to summary
public ResultSetMetaData getMetaData()

Overrides org.apache.derby.vti.VTITemplate.getMetaData.

Implements java.sql.ResultSet.getMetaData.

Doc from java.sql.ResultSet.getMetaData.

Retrieves the number, types and properties of this ResultSet object's columns.

Returns:ResultSetMetaData

the description of this ResultSet object's columns

See Also
java.sql.ResultSet#getMetaData
getStringback to summary
public String getString(int columnNumber)

Overrides org.apache.derby.vti.VTITemplate.getString.

Implements java.sql.ResultSet.getString.

All columns in TransactionTable VTI is of String type.

Parameters
columnNumber:int

Doc from java.sql.ResultSet.getString.

the first column is 1, the second is 2, ...

Returns:String

Doc from java.sql.ResultSet.getString.

the column value; if the value is SQL NULL, the value returned is null

See Also
java.sql.ResultSet#getString
nextback to summary
public boolean next() throws SQLException

Implements java.sql.ResultSet.next.

Doc from java.sql.ResultSet.next.

Moves the cursor forward one row from its current position. A ResultSet cursor is initially positioned before the first row; the first call to the method next makes the first row the current row; the second call makes the second row the current row, and so on.

When a call to the next method returns false, the cursor is positioned after the last row. Any invocation of a ResultSet method which requires a current row will result in a SQLException being thrown. If the result set type is TYPE_FORWARD_ONLY, it is vendor specified whether their JDBC driver implementation will return false or throw an SQLException on a subsequent call to next.

If an input stream is open for the current row, a call to the method next will implicitly close it. A ResultSet object's warning chain is cleared when a new row is read.

Returns:boolean

true if the new current row is valid; false if there are no more rows

Exceptions
SQLException:
if no transaction context can be found
See Also
java.sql.ResultSet#next
supportsMultipleInstantiationsback to summary
public boolean supportsMultipleInstantiations(VTIEnvironment vtiEnvironment)

Implements org.apache.derby.vti.VTICosting.supportsMultipleInstantiations.

Doc from org.apache.derby.vti.VTICosting.supportsMultipleInstantiations.

Find out if the ResultSet of the Table Function can be instantiated multiple times.

Parameters
vtiEnvironment:VTIEnvironment

The state variable for optimizing the Table Function.

Returns:boolean

false

See Also
VTICosting#supportsMultipleInstantiations
wasNullback to summary
public boolean wasNull()

Overrides org.apache.derby.vti.VTITemplate.wasNull.

Implements java.sql.ResultSet.wasNull.

Doc from java.sql.ResultSet.wasNull.

Reports whether the last column read had a value of SQL NULL. Note that you must first call one of the getter methods on a column to try to read its value and then call the method wasNull to see if the value read was SQL NULL.

Returns:boolean

true if the last column value read was SQL NULL and false otherwise

See Also
java.sql.ResultSet#wasNull