The SYSCS_DIAG.ERROR_LOG_READER diagnostic table function contains all the useful SQL statements that are in the derby.log file or a log file that you specify.
One use of this diagnostic table function is to determine the active transactions and the SQL statements in those transactions at a given point in time. For example, if a deadlock or lock timeout occurred, you can find the timestamp (timestampConstant) in the error log.
For a database for which authentication and SQL authorization are both enabled, only the database owner can access this diagnostic table function.
To access the SYSCS_DIAG.ERROR_LOG_READER diagnostic table function, you must use the SQL table function syntax.
SELECT * FROM TABLE (SYSCS_DIAG.ERROR_LOG_READER()) AS T1where T1 is a user-specified table name that is any valid identifier.
You can specify a log file name as an optional argument to the SYSCS_DIAG.ERROR_LOG_READER diagnostic table function. When you specify a log file name, the file name must be an expression whose data type maps to a Java string.
SELECT * FROM TABLE (SYSCS_DIAG.ERROR_LOG_READER('myderbyerrors.log')) AS T1
The returned table has the columns shown in the following table.
Column Name | Type | Length | Nullable | Contents |
---|---|---|---|---|
TS | VARCHAR | 26 | false | The timestamp of the statement. |
THREADID | VARCHAR | 40 | false | The thread name. |
XID | VARCHAR | 15 | false | The transaction ID. |
LCCID | VARCHAR | 15 | false | The connection ID. |
DATABASE | VARCHAR | 128 | false | The database name. |
DRDAID | VARCHAR | 50 | true | The DRDA ID for network server session. |
LOGTEXT | LONG VARCHAR | 32,700 | false | The text of the statement or commit or rollback. |