org.apache.derby.diag
Class TransactionTable

java.lang.Object
  extended by org.apache.derby.vti.VTITemplate
      extended by org.apache.derby.diag.TransactionTable
All Implemented Interfaces:
java.sql.ResultSet, java.sql.Wrapper, VTICosting

public class TransactionTable
extends VTITemplate
implements VTICosting

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
private static ResultColumnDescriptor[] columnInfo
           
(package private)  int currentRow
           
(package private)  boolean initialized
           
private static java.sql.ResultSetMetaData metadata
           
private  TransactionInfo[] transactionTable
           
private  boolean wasNull
           
 
Fields inherited from interface org.apache.derby.vti.VTICosting
defaultEstimatedCost, defaultEstimatedRowCount
 
Fields inherited from interface java.sql.ResultSet
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
 
Constructor Summary
TransactionTable()
           
 
Method Summary
 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()
           
 
Methods inherited from class org.apache.derby.vti.VTITemplate
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, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getInt, getInt, getLong, getLong, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getShort, getShort, getStatement, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateShort, updateShort, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.sql.ResultSet
getHoldability, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getRowId, getRowId, getSQLXML, getSQLXML, isClosed, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateRowId, updateRowId, updateSQLXML, updateSQLXML
 
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
 

Field Detail

transactionTable

private TransactionInfo[] transactionTable

initialized

boolean initialized

currentRow

int currentRow

wasNull

private boolean wasNull

columnInfo

private static final ResultColumnDescriptor[] columnInfo

metadata

private static final java.sql.ResultSetMetaData metadata
Constructor Detail

TransactionTable

public TransactionTable()
Method Detail

getMetaData

public java.sql.ResultSetMetaData getMetaData()
Specified by:
getMetaData in interface java.sql.ResultSet
See Also:
ResultSet.getMetaData()

next

public boolean next()
             throws java.sql.SQLException
Specified by:
next in interface java.sql.ResultSet
Throws:
java.sql.SQLException - if no transaction context can be found
See Also:
ResultSet.next()

close

public void close()
Specified by:
close in interface java.sql.ResultSet
See Also:
ResultSet.close()

getString

public java.lang.String getString(int columnNumber)
All columns in TransactionTable VTI is of String type.

Specified by:
getString in interface java.sql.ResultSet
Overrides:
getString in class VTITemplate
See Also:
ResultSet.getString(int)

wasNull

public boolean wasNull()
Specified by:
wasNull in interface java.sql.ResultSet
Overrides:
wasNull in class VTITemplate
See Also:
ResultSet.wasNull()

getEstimatedRowCount

public double getEstimatedRowCount(VTIEnvironment vtiEnvironment)
Description copied from interface: VTICosting
Get the estimated row count for a single scan of a Table Function.

Specified by:
getEstimatedRowCount in interface VTICosting
Parameters:
vtiEnvironment - The state variable for optimizing the Table Function.
Returns:
The estimated row count for a single scan of the Table Function.
See Also:
VTICosting.getEstimatedRowCount(org.apache.derby.vti.VTIEnvironment)

getEstimatedCostPerInstantiation

public double getEstimatedCostPerInstantiation(VTIEnvironment vtiEnvironment)
Description copied from interface: VTICosting
Get the estimated cost for a single instantiation of a Table Function.

Specified by:
getEstimatedCostPerInstantiation in interface VTICosting
Parameters:
vtiEnvironment - The state variable for optimizing the Table Function.
Returns:
The estimated cost for a single instantiation of the Table Function.
See Also:
VTICosting.getEstimatedCostPerInstantiation(org.apache.derby.vti.VTIEnvironment)

supportsMultipleInstantiations

public boolean supportsMultipleInstantiations(VTIEnvironment vtiEnvironment)
Description copied from interface: VTICosting
Find out if the ResultSet of the Table Function can be instantiated multiple times.

Specified by:
supportsMultipleInstantiations in interface VTICosting
Parameters:
vtiEnvironment - The state variable for optimizing the Table Function.
Returns:
false
See Also:
VTICosting.supportsMultipleInstantiations(org.apache.derby.vti.VTIEnvironment)

Built on Thu 2012-03-29 21:53:33+0000, from revision ???

Apache Derby V10.6 Internals - Copyright © 2004,2007 The Apache Software Foundation. All Rights Reserved.