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 T1
where 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. |