Issue Details (XML | Word | Printable)

Key: JDBC-432
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Mark Rotteveel
Reporter: Mark Rotteveel
Votes: 0
Watchers: 0

If you were logged in you would be able to see more operations.
Jaybird JCA/JDBC Driver

Support 48 bit (technically 64 bit) transaction ids.

Created: 01/May/16 09:42 AM   Updated: 20/Aug/16 01:13 PM
Component/s: JNI/JNA layer, Services API, Wire protocol
Affects Version/s: Jaybird 2.2.10
Fix Version/s: Jaybird 2.2.11, Jaybird 3.0.0

 Description  « Hide
Firebird 3 introduces 48 bit transaction ids (realised as 64 bit values). Jaybird needs to support these. Relevant areas are isc_database_info, isc_transaction_info and the services API.

For isc_database_info and isc_transaction_info the values below 2^32 are handled as they were (4 bytes), and above they are sent as 8 bytes (length prefixed). For the services API additional tags were introduced: isc_spb_tra_id_64, isc_spb_single_tra_id_64, isc_spb_multi_tra_id_64. They are used only if the value overflows 2^32.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Mark Rotteveel added a comment - 01/May/16 09:43 AM
It would be preferable to get support into 2.2.x, but we need to maintain backwards compatibility.

Mark Rotteveel added a comment - 18/Jun/16 01:14 PM
Added support in FBMaintenanceManager in 2.2 and 3.0. Made some changes that are backwards incompatible between Jaybird 2.2 and Jaybird 3.0 (modified return types of two methods to return long[] and List<Long> instead of int[] and List<Integer>. For Jaybird 2.2 I opted to include an explicit long variant of these methods to retain compatibility. Deprecated the commitTransaction(int) and rollbackTransaction(int) methods to be removed in Jaybird 3.1.

Researching exactly what I need to do for op_reconnec/isc_reconnect_transaction.

Mark Rotteveel added a comment - 18/Jun/16 01:56 PM
Support in reconnect also implemented.