[
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