[ http://issues.apache.org/jira/browse/DERBY-1010?page=all ]

Kathey Marsden reassigned DERBY-1010:
-------------------------------------

    Assign To: Kathey Marsden

> setTransactionIsolation can cause ava.sql.SQLException: Invalid operation: 
> statement closed in some contexts with xa
> --------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1010
>          URL: http://issues.apache.org/jira/browse/DERBY-1010
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Versions: 10.2.0.0, 10.1.3.0, 10.1.2.3
>     Reporter: Kathey Marsden
>     Assignee: Kathey Marsden

>
> With xa setTransactionIsolation can cause a statement closed exception when 
> calling 
> setTransactionIsolation
> Client tries to reuse a statement for sending SET CURRENT ISOLATION 
> statements to the server.  There must be some problems with this logic where 
> it is trying to use a closed statement.  Perhaps an overall better strategy 
> would be to use an EXCSQLSET to send the set commands to the server and then 
> invoke the embedded JDBC setTransactionIsolation call on the server as Oyvind 
> did for setQueryTimeout.  Using the SET ISOLATION statements on the client 
> has caused a variety of problems.
> // setTransactionIsolation in some contexts used in this test is 
>       // causing  java.sql.SQLException: Invalid operation: statement closed
>       // error on client. These cases are omitted for now where they cause the
>       // statement closed error
>       private static boolean  causesStmtClosedOnSetTransactionIsolation = 
> TestUtil.isDerbyNetClientFramework();
> java.sql.SQLException: Invalid operation: statement closed
>         at 
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:280)
>         at 
> org.apache.derby.client.am.Statement.executeUpdate(Statement.java:437)
>         at 
> org.apache.derby.client.am.Connection.setTransactionIsolation(Connection.java:911)
>         at 
> org.apache.derby.client.am.LogicalConnection.setTransactionIsolation(LogicalConnection.java:184)
>         at 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.checkDataSource.runTest(checkDataSource.java:404)
>         at 
> org.apache.derbyTesting.functionTests.tests.jdbcapi.checkDataSource.main(checkDataSource.java:119)
> Caused by: org.apache.derby.client.am.SqlException: Invalid operation: 
> statement closed
>         at 
> org.apache.derby.client.am.Statement.checkForClosedStatement(Statement.java:2231)
>         at 
> org.apache.derby.client.am.Statement.flowExecute(Statement.java:1737)
>         at 
> org.apache.derby.client.am.Statement.executeUpdateX(Statement.java:442)
>         at 
> org.apache.derby.client.am.Statement.executeUpdate(Statement.java:428)
>         ... 4 more
> Exception in thread "main" D>

-- 
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

Reply via email to