You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2007/05/14 20:59:16 UTC
[jira] Assigned: (DERBY-2620) embedded throws SQLState 8003 (No
current connection) on rs.next() on closed resultSet in test for DERBY-1025
in DataSourceTest
[ https://issues.apache.org/jira/browse/DERBY-2620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kathey Marsden reassigned DERBY-2620:
-------------------------------------
Assignee: (was: Kathey Marsden)
I am unnassigning myself from this issue for now. I don't have a clear idea of the best solution.
> embedded throws SQLState 8003 (No current connection) on rs.next() on closed resultSet in test for DERBY-1025 in DataSourceTest
> -------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-2620
> URL: https://issues.apache.org/jira/browse/DERBY-2620
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.3.0.0
> Reporter: Kathey Marsden
>
> The following code checking that a CLOSE_CURSORS_AT_COMMIT ResultSet is closed by xa_start throws the wrong exception for embedded, indicating that there is no current connection instead of the ResultSet being closed.
> Statement s4 = conn4.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.CLOSE_CURSORS_AT_COMMIT);
> ResultSet rs4 = s4.executeQuery("select i from autocommitxastart");
> rs4.next();
> assertEquals(1, rs4.getInt(1));
> rs4.next();
> assertEquals(2, rs4.getInt(1));
> // XAResource().start should commit the transaction
> try {
> xac4.getXAResource().start(xid4a, XAResource.TMNOFLAGS);
> xac4.getXAResource().end(xid4a, XAResource.TMSUCCESS);
> } catch (XAException xae) {
> fail("unexpected XAException on xac4.getXAResource.start or end");
> } catch (Exception e) {
> fail("unexpected Exception on xac4.getXAResource.start or end");
> }
>
> // DERBY-1025.
> // With Embedded, this will give error: 08003 - No current connection
> // But with NetworkServer / DerbyNetClient, the transaction does not
> // appear to be closed, and we actually get a value.
> try {
> rs4.next();
> rs4.getInt(1);
> fail ("expected an exception indicating resultset is closed.");
> } catch (SQLException sqle) {
> // Embedded gets 08003.
> if (usingDerbyNetClient())
> assertSQLState("XCL16",sqle);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.