db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5391) The syscs_diag.error_log_reader() and syscs_diag.statement_duration() vtis do not work on derby error logs created since 10.7.1
Date Fri, 26 Aug 2011 18:25:29 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rick Hillegas updated DERBY-5391:
---------------------------------

    Attachment: derby-5391-01-ac-fixErrorLogReaderAndStatementDuration.diff

Attaching derby-5391-01-ac-fixErrorLogReaderAndStatementDuration.diff. I have not run the
full regression suite yet. To prevent this kind of regression from creeping in again, I think
that we need to add a test case which runs these vtis against the current shape of derby.log,
not just a canned derby.log from an old release.

The preceding rev of the patch fixed the error log vti. This rev of the patch also fixes the
statement duration vti.

In addition, this patch adjusts the existing regression test to account for the following
behavioral change: The first varchar column of these vtis gives a string rendering of the
timestamp. When run against old (pre-10.7) error logs, the leading column of these vtis now
includes the GMT timezone indicator which appears in the log.

To summarize the formatting change of that first column:

1) Before 10.7, that column looked like this:

2006-12-15 16:14:58.280

2) Now, when you run these vtis on pre-10.7 logs, the column looks like this:

2006-12-15 16:14:58.280 GMT

3) And, when you run these vtis on 10.7 (or later) logs, the column looks like this:

Fri Aug 26 10:53:23 PDT 2011


Touches the following files:

--------

M      java/engine/org/apache/derby/diag/StatementDuration.java
M      java/engine/org/apache/derby/diag/ErrorLogReader.java

Fixes to the vtis.

--------

M      java/testing/org/apache/derbyTesting/functionTests/tests/lang/SysDiagVTIMappingTest.java

Fix to the existing regression test.


> The syscs_diag.error_log_reader() and syscs_diag.statement_duration() vtis do not work
on derby error logs created since 10.7.1
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5391
>                 URL: https://issues.apache.org/jira/browse/DERBY-5391
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.7.1.1, 10.8.1.2, 10.9.0.0
>            Reporter: Rick Hillegas
>         Attachments: derby-5391-01-aa-fixErrorLogReader.diff, derby-5391-01-ac-fixErrorLogReaderAndStatementDuration.diff
>
>
> The format of timestamps in Derby logs seems to have changed. As a result, the ErrorLogReader
vti can't parse the text of derby.log. That vti is looking for the literal string "GMT" in
order to locate timestamps.
> To reproduce the problem, run ij with -Dderby.language.logStatementText=true and issue
the following query:
>   select * from table (syscs_diag.error_log_reader( )) as t1;
> You will get an empty result.
> This regression was not caught by our tests because SysDiagVTIMappingTest uses a hardcoded
derby.log created by version "10.3.0.0 alpha".
> The same problem seems to have broken the statement duration vti too. The following query
returns an empty result from 10.7 onward:
>   select * from table (syscs_diag.statement_duration()) as t1;

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message