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