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 "Mamta A. Satoor (JIRA)" <de...@db.apache.org> on 2006/04/11 20:27:20 UTC
[jira] Reopened: (DERBY-8) Connection object gets created with
un-supported holdability on getting Connection object from XAConnection
"inside" the global transaction
[ http://issues.apache.org/jira/browse/DERBY-8?page=all ]
Mamta A. Satoor reopened DERBY-8:
---------------------------------
Need to put correct fix-in version
> Connection object gets created with un-supported holdability on getting Connection object from XAConnection "inside" the global transaction
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-8
> URL: http://issues.apache.org/jira/browse/DERBY-8
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.0.2.0
> Reporter: Tulika Agrawal
> Assignee: Mamta A. Satoor
> Priority: Minor
> Fix For: 10.2.0.0, 10.1.1.0
> Attachments: Derby8_Derby366_061805.txt
>
> Reporting for Mamta Satoor, filed on Derby-dev list.
> I think there is a bug in Derby when the user code tries to get the
> Connection object from XAConnection "inside" the global transaction.
> In this case, the Connection object gets created with un-supported
> holdability. Look at the following piece of code and it's output to
> see what exactly happens
> EmbeddedXADataSource dscsx = new EmbeddedXADataSource();
> dscsx.setDatabaseName("wombat");
> XAConnection xac = dscsx.getXAConnection("fred", "wilma");
> XAResource xr = xac.getXAResource();
> xid = getXid(27, (byte) 21, (byte) 01);
> xr.start(xid, XAResource.TMNOFLAGS);
> conn1 = xac.getConnection();
> System.out.println("This is a bug. Connection's holdability should
> have been CLOSE_CURSORS_AT_COMMIT since it is in the global
> transaction");
> System.out.println("CONNECTION(in xa transaction) HOLDABILITY " +
> (conn1.getHoldability() == ResultSet.HOLD_CURSORS_OVER_COMMIT));
> System.out.println("Autocommit on Connection inside global
> transaction has been set correctly to " + conn1.getAutoCommit());
> xr.end(xid, XAResource.TMSUCCESS);
> The output for the above piece of code is
> This is a bug. Connection's holdability should have been
> CLOSE_CURSORS_AT_COMMIT since it is in the global transaction
> CONNECTION(in xa transaction) HOLDABILITY true
> Autocommit on Connection inside global transaction has been set
> correctly to false
--
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