db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-2620) embedded throws SQLState 8003 (No current connection) on rs.next() on closed resultSet in test for DERBY-1025 in DataSourceTest
Date Mon, 07 May 2007 20:01:15 GMT
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
            Reporter: Kathey Marsden
         Assigned To: 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.


Mime
View raw message