org.apache.derby.diag
Class ErrorLogReader
- java.lang.Object
-
- org.apache.derby.vti.VTITemplate
-
- org.apache.derby.diag.ErrorLogReader
-
- All Implemented Interfaces:
- java.lang.AutoCloseable, java.sql.ResultSet, java.sql.Wrapper, AwareVTI
public class ErrorLogReader extends VTITemplate
ErrorLogReader is a virtual table interface (VTI) which contains all the statements of "interest" in db2j.log or a specified file when db2j.language.logStatementText=true.One use of this VTI is to determine the active transactions and the SQL statements in those transactions at a given point in time, say when a deadlock or lock timeout occurred. In order to do that, you must first find the timestamp (timestampConstant) of interest in the error log. The SQL to view the active transactions at a given in time is:
SELECT vti.ts, threadid, cast(xid as int) as xid_int, cast(lccid as int) as lccid_int, logtext FROM new org.apache.derby.diag.ErrorLogReader() vti, (VALUES timestampConstant) t(ts) WHERE vti.ts <= t.ts AND vti.ts > (SELECT MAX(ts) IS NULL ? '2000-01-01 00:00:00.1' : MAX(ts) FROM new org.apache.derby.diag.ErrorLogReader() vti_i WHERE (logtext LIKE 'Committing%' OR logtext LIKE 'Rolling%') AND vti.xid = vti_i.xid AND ts < t.ts) ORDER BY xid_int, vti.tsThe ErrorLogReader virtual table has the following columns:
- TS varchar(26) - the timestamp of the statement.
- THREADID varchar(40) - the thread name.
- XID varchar(15) - the transaction ID.
- LCCID varchar(15) - the connection ID.
- DATABASE varchar(128) - Database name
- DRDAID varchar(50) - nullable. DRDA ID for network server session.
- LOGTEXT long varchar - text of the statement or commit or rollback.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.derby.vti.VTITemplate
VTITemplate.ColumnDescriptor
-
-
Constructor Summary
Constructors Constructor and Description ErrorLogReader()ErrorLogReader() accesses the derby.log in derby.system.home, if set, otherwise it looks in the current directory.ErrorLogReader(java.lang.String inputFileName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidclose()java.sql.ResultSetMetaDatagetMetaData()java.lang.StringgetString(int columnNumber)All columns in the Db2jLogReader VTI have a of String type.booleannext()booleanwasNull()-
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, 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, 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
-
-
-
-
Constructor Detail
-
ErrorLogReader
public ErrorLogReader() throws StandardExceptionErrorLogReader() accesses the derby.log in derby.system.home, if set, otherwise it looks in the current directory. ErrorLogReader('filename') will access the specified file name.- Throws:
StandardException
-
ErrorLogReader
public ErrorLogReader(java.lang.String inputFileName) throws StandardException- Throws:
StandardException
-
-
Method Detail
-
getMetaData
public java.sql.ResultSetMetaData getMetaData()
- Specified by:
getMetaDatain interfacejava.sql.ResultSet- Overrides:
getMetaDatain classVTITemplate- See Also:
ResultSet.getMetaData()
-
next
public boolean next() throws java.sql.SQLException- Throws:
java.sql.SQLException- If database-access error occurs.- See Also:
ResultSet.next()
-
close
public void close()
- See Also:
ResultSet.close()
-
getString
public java.lang.String getString(int columnNumber) throws java.sql.SQLExceptionAll columns in the Db2jLogReader VTI have a of String type.- Specified by:
getStringin interfacejava.sql.ResultSet- Overrides:
getStringin classVTITemplate- Throws:
java.sql.SQLException- If database-access error occurs.- See Also:
ResultSet.getString(int)
-
wasNull
public boolean wasNull()
- Specified by:
wasNullin interfacejava.sql.ResultSet- Overrides:
wasNullin classVTITemplate- See Also:
ResultSet.wasNull()
-
-
DataMelt 3.0 © DataMelt by jWork.ORG