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 "Daniel John Debrunner (JIRA)" <de...@db.apache.org> on 2006/03/28 16:59:25 UTC

[jira] Created: (DERBY-1158) Allow use of Statements created in local transaction with default holdability to be used in global transactions.

Allow use of Statements created in local transaction with default holdability to be used in global transactions.
----------------------------------------------------------------------------------------------------------------

         Key: DERBY-1158
         URL: http://issues.apache.org/jira/browse/DERBY-1158
     Project: Derby
        Type: Improvement
  Components: JDBC, Network Client  
    Versions: 10.1.2.1    
    Reporter: Daniel John Debrunner


A statement created or prepared in a local transaction using the default holdability settting can not be used in a global transaction.

This is because the default holdability is HOLD_CURSORS_OVER_COMMIT and Derby does not support held cursors in global transactions.

The change would be to allow those statements to be used in global transactions, returning ResultSets that are CLOSE_CURSORS_AT_COMMIT .
This would allow such statements to be cached by application servers.

JDBC 3.0 section 12.6 does allow holdability to be handled in an implementation specific way for global transactions.

I believe this change is forward compatible if Derby ever does start supporting held cursors in global transactions (pretty unlikely) since
the functionality displayed is a ub-set of the holdable functionality. 



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


[jira] Reopened: (DERBY-1158) Allow use of Statements created in local transaction with default holdability to be used in global transactions.

Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-1158?page=all ]
     
Andrew McIntyre reopened DERBY-1158:
------------------------------------


> Allow use of Statements created in local transaction with default holdability to be used in global transactions.
> ----------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1158
>          URL: http://issues.apache.org/jira/browse/DERBY-1158
>      Project: Derby
>         Type: Improvement

>   Components: JDBC, Network Client
>     Versions: 10.1.2.1
>     Reporter: Daniel John Debrunner
>     Assignee: Daniel John Debrunner
>      Fix For: 10.2.0.0, 10.1.3.0, 10.1.2.4

>
> A statement created or prepared in a local transaction using the default holdability settting can not be used in a global transaction.
> This is because the default holdability is HOLD_CURSORS_OVER_COMMIT and Derby does not support held cursors in global transactions.
> The change would be to allow those statements to be used in global transactions, returning ResultSets that are CLOSE_CURSORS_AT_COMMIT .
> This would allow such statements to be cached by application servers.
> JDBC 3.0 section 12.6 does allow holdability to be handled in an implementation specific way for global transactions.
> I believe this change is forward compatible if Derby ever does start supporting held cursors in global transactions (pretty unlikely) since
> the functionality displayed is a ub-set of the holdable functionality. 

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


[jira] Commented: (DERBY-1158) Allow use of Statements created in local transaction with default holdability to be used in global transactions.

Posted by "Daniel John Debrunner (JIRA)" <de...@db.apache.org>.
    [ http://issues.apache.org/jira/browse/DERBY-1158?page=comments#action_12372171 ] 

Daniel John Debrunner commented on DERBY-1158:
----------------------------------------------

JDBC 4.0 section 16.1.3.1 provides helpful information on addressing this: namely

if a data source cannot support a holdability level then it can select another and add a warning
(currently derby in a global transaction throws an error)

the application must check the holdability of its ResultSet and not rely on it matching the statement's or connection setting.



> Allow use of Statements created in local transaction with default holdability to be used in global transactions.
> ----------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1158
>          URL: http://issues.apache.org/jira/browse/DERBY-1158
>      Project: Derby
>         Type: Improvement
>   Components: JDBC, Network Client
>     Versions: 10.1.2.1
>     Reporter: Daniel John Debrunner
>     Assignee: Daniel John Debrunner

>
> A statement created or prepared in a local transaction using the default holdability settting can not be used in a global transaction.
> This is because the default holdability is HOLD_CURSORS_OVER_COMMIT and Derby does not support held cursors in global transactions.
> The change would be to allow those statements to be used in global transactions, returning ResultSets that are CLOSE_CURSORS_AT_COMMIT .
> This would allow such statements to be cached by application servers.
> JDBC 3.0 section 12.6 does allow holdability to be handled in an implementation specific way for global transactions.
> I believe this change is forward compatible if Derby ever does start supporting held cursors in global transactions (pretty unlikely) since
> the functionality displayed is a ub-set of the holdable functionality. 

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


[jira] Assigned: (DERBY-1158) Allow use of Statements created in local transaction with default holdability to be used in global transactions.

Posted by "Daniel John Debrunner (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-1158?page=all ]

Daniel John Debrunner reassigned DERBY-1158:
--------------------------------------------

    Assign To: Daniel John Debrunner

> Allow use of Statements created in local transaction with default holdability to be used in global transactions.
> ----------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1158
>          URL: http://issues.apache.org/jira/browse/DERBY-1158
>      Project: Derby
>         Type: Improvement
>   Components: JDBC, Network Client
>     Versions: 10.1.2.1
>     Reporter: Daniel John Debrunner
>     Assignee: Daniel John Debrunner

>
> A statement created or prepared in a local transaction using the default holdability settting can not be used in a global transaction.
> This is because the default holdability is HOLD_CURSORS_OVER_COMMIT and Derby does not support held cursors in global transactions.
> The change would be to allow those statements to be used in global transactions, returning ResultSets that are CLOSE_CURSORS_AT_COMMIT .
> This would allow such statements to be cached by application servers.
> JDBC 3.0 section 12.6 does allow holdability to be handled in an implementation specific way for global transactions.
> I believe this change is forward compatible if Derby ever does start supporting held cursors in global transactions (pretty unlikely) since
> the functionality displayed is a ub-set of the holdable functionality. 

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


[jira] Closed: (DERBY-1158) Allow use of Statements created in local transaction with default holdability to be used in global transactions.

Posted by "Andrew McIntyre (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-1158?page=all ]
     
Andrew McIntyre closed DERBY-1158:
----------------------------------

    Fix Version: 10.1.3.0
     Resolution: Fixed

> Allow use of Statements created in local transaction with default holdability to be used in global transactions.
> ----------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1158
>          URL: http://issues.apache.org/jira/browse/DERBY-1158
>      Project: Derby
>         Type: Improvement

>   Components: JDBC, Network Client
>     Versions: 10.1.2.1
>     Reporter: Daniel John Debrunner
>     Assignee: Daniel John Debrunner
>      Fix For: 10.2.0.0, 10.1.3.0, 10.1.2.4

>
> A statement created or prepared in a local transaction using the default holdability settting can not be used in a global transaction.
> This is because the default holdability is HOLD_CURSORS_OVER_COMMIT and Derby does not support held cursors in global transactions.
> The change would be to allow those statements to be used in global transactions, returning ResultSets that are CLOSE_CURSORS_AT_COMMIT .
> This would allow such statements to be cached by application servers.
> JDBC 3.0 section 12.6 does allow holdability to be handled in an implementation specific way for global transactions.
> I believe this change is forward compatible if Derby ever does start supporting held cursors in global transactions (pretty unlikely) since
> the functionality displayed is a ub-set of the holdable functionality. 

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


[jira] Resolved: (DERBY-1158) Allow use of Statements created in local transaction with default holdability to be used in global transactions.

Posted by "Daniel John Debrunner (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-1158?page=all ]
     
Daniel John Debrunner resolved DERBY-1158:
------------------------------------------

    Fix Version: 10.2.0.0
                 10.1.2.4
     Resolution: Fixed

Set of changes completed in trunk and 10.1 branch.
Request to create a holdable statement in a global transaction creates a non-holdable statement and adds a warning to the connection object.
Using a holdable statement within a global transaction results in non-holdable ResultSets.
Behaviour follows section 16.1.3.1 of JDBC 4.0 (proposed final draft)

> Allow use of Statements created in local transaction with default holdability to be used in global transactions.
> ----------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-1158
>          URL: http://issues.apache.org/jira/browse/DERBY-1158
>      Project: Derby
>         Type: Improvement

>   Components: JDBC, Network Client
>     Versions: 10.1.2.1
>     Reporter: Daniel John Debrunner
>     Assignee: Daniel John Debrunner
>      Fix For: 10.2.0.0, 10.1.2.4

>
> A statement created or prepared in a local transaction using the default holdability settting can not be used in a global transaction.
> This is because the default holdability is HOLD_CURSORS_OVER_COMMIT and Derby does not support held cursors in global transactions.
> The change would be to allow those statements to be used in global transactions, returning ResultSets that are CLOSE_CURSORS_AT_COMMIT .
> This would allow such statements to be cached by application servers.
> JDBC 3.0 section 12.6 does allow holdability to be handled in an implementation specific way for global transactions.
> I believe this change is forward compatible if Derby ever does start supporting held cursors in global transactions (pretty unlikely) since
> the functionality displayed is a ub-set of the holdable functionality. 

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