Hold cursors
When transaction logging is used, HCL Informix® generally closes all cursors and releases all locks when a transaction ends. In a multiuser environment, this behavior is not always desirable.
Informix® JDBC Driver had already implemented holdable cursor support with Informix® extensions. Informix® database servers (5.x, 7.x, SE, 8.x, 9.x, and 10.x, or later) support adding keywords WITH HOLD in the declaration of the cursor. Such a cursor is referred to as a hold cursor and is not closed at the end of a transaction.
Informix® JDBC Driver, in compliance with the JDBC 3.0 specifications, adds methods to JDBC interfaces to support holdable cursors.
- Add CURSOR_HOLDABILITY = 1 or 2 {In Connection URL}
- Add setCursorHoldability(1 or 2) {In Informix datasource}
- HOLD_CURSORS_OVER_COMMIT: Indicating that open ResultSet objects with this holdability will remain open when the current transaction is committed. Value is 1.
- CLOSE_CURSORS_OVER_COMMIT:Indicating that open ResultSet objects with this holdability will be closed when the current transaction is committed. Value is 2.
The default is CLOSE_CURSORS_OVER_COMMIT.
For more information about hold cursors, see the Informix® Guide to SQL: Syntax.