db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Deepa Remesh (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2084) getTransactionIsolation() in network client should not activate a transaction
Date Tue, 14 Nov 2006 17:58:38 GMT
    [ http://issues.apache.org/jira/browse/DERBY-2084?page=comments#action_12449717 ] 
            
Deepa Remesh commented on DERBY-2084:
-------------------------------------

Bernt, I verified that your patch fixes the problem reported. I hadn't realized that the fix
for DERBY-1148 would lead to this bug.

As an aside, I relooked at my patch for DERBY-1148. And I am wondering if the storing and
saving of autocommit value is needed. I am checking if the below statement (and related statements)
serve any purpose:
// Store the current auto-commit value and use it to restore
// at the end of this method.
boolean currentAutoCommit = autoCommit_;

I did some quick checks with and without these statements and seem to get same results. Any
thoughts on this?

> getTransactionIsolation() in network client should not activate a transaction
> -----------------------------------------------------------------------------
>
>                 Key: DERBY-2084
>                 URL: http://issues.apache.org/jira/browse/DERBY-2084
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.2.1.6, 10.3.0.0, 10.1.3.1
>            Reporter: Bernt M. Johnsen
>         Assigned To: Bernt M. Johnsen
>         Attachments: DERBY-2084.diff
>
>
> getTransactionIsolation() is implemented by means of             
>      rs = getTransactionIsolationStmt.executeQuery("values current isolation");
> This will activate a transaction. Thus the code snippet
>         Connection conn = 
>             DriverManager.getConnection(url);
>         conn.setAutoCommit(false);
>         int tx = conn.getTransactionIsolation();
>         conn.close();
> will fail with
> java.sql.SQLException: Cannot close a connection while a transaction is still active.
>         at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
>         at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
>         at org.apache.derby.client.am.Connection.closeResourcesX(Unknown Source)
>         at org.apache.derby.client.am.Connection.closeX(Unknown Source)
>         at org.apache.derby.client.net.NetConnection.closeX(Unknown Source)
>         at org.apache.derby.client.am.Connection.close(Unknown Source)
>         at org.apache.derby.client.net.NetConnection.close(Unknown Source)
>         at GetTransactionIsolation.test(GetTransactionIsolation.java:12)
>         at GetTransactionIsolation.main(GetTransactionIsolation.java:22)
> Caused by: org.apache.derby.client.am.SqlException: Cannot close a connection while a
transaction is still active.
>         at org.apache.derby.client.am.Connection.checkForTransactionInProgress(Unknown
Source)
>         ... 7 more

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message