Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.1.2.1
-
None
Description
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.
Attachments
Issue Links
- incorporates
-
DERBY-639 Statements in stored procedures with holdable cursor should not be allowed to execute in xa global transaction
- Open
- relates to
-
DERBY-1159 PreparedStatement.executeUpdate throws a XJ05C exception in a global transaction if the statement is HOLD_CURSORS_OVER_COMMIT
- Closed