db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-3422) Embedded returns wrong value for DatabaseMetaData.autoCommitFailureClosesAllResultSets()
Date Sat, 16 Feb 2008 16:07:08 GMT

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

Knut Anders Hatlen updated DERBY-3422:
--------------------------------------

    Attachment: d3422.stat
                d3422.diff

Attached is a patch that changes the return value for EmbedDatabaseMetadata40.autoCommitFailureClosesAllResultSets()
and updates TestDbMetaData.

When this patch is applied, autoCommitFailureClosesAllResultSets() returns different values
on embedded and on the client, so if the approach is accepted and the patch is committed,
we should also file an issue to track the difference between client and embedded.

> Embedded returns wrong value for DatabaseMetaData.autoCommitFailureClosesAllResultSets()
> ----------------------------------------------------------------------------------------
>
>                 Key: DERBY-3422
>                 URL: https://issues.apache.org/jira/browse/DERBY-3422
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.4.0.0
>            Reporter: Knut Anders Hatlen
>            Assignee: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: d3422.diff, d3422.stat, test.diff
>
>
> DatabaseMetaData.autoCommitFailureClosesAllResultSets() returns false both on the client
and on embedded. However, the embedded driver does in fact close all open result sets when
an error occurs in auto-commit mode. There is a test case in jdbc4.TestDbMetaData to test
this (testAutoCommitFailure), but it only uses ResultSet.isClosed() to check whether or not
the result set is closed after the failure. Because of DERBY-3404, isClosed() returns false
for the result sets that have been closed because of the failure, so the test doesn't reveal
the bug. If the test is changed to invoke methods on the result set (e.g. next()) instead
of calling isClosed(), we'll see that the result set is in fact closed and get an SQLException
with SQL state XCL16.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message