-
Notifications
You must be signed in to change notification settings - Fork 203
Description
Is your feature request related to a problem? Please describe.
It would be useful for some businesses to use python ibm_db to access two-phase-commit functionality when connected to two separate Db2-databases, using Db2 as the Transaction Manager. This is currently not supported by python ibm_db at release 3.2.3. The idea being that a single transaction (insert, update, delete) could span two separate Db2-databases and to commit only when the activities on both databases successfully commit, and rollback both legs if either or both fails to commit.
Describe the solution you'd like
A method for the application to indicate that the application wishes to connect to two separate Db2-databases, and for the transactions to be coordinated via two-phase-commit. Plus a method to return any indoubt-transactions , and a method to handle those indoubt-transactions (e.g forget, commit, rollback).
Describe alternatives you've considered
A full implementation of XA support would be the eventual goal, but a first limited step to support distributed units of work over 2 Db2-databases might be a small start.
Additional context
Eventually it would be ideal if python ibm_db could support XA, to allow distributed transactions between Db2-databases and MQ, between Db2-databases and MSDTC etc, using external third party transaction managers, but that is not what this current suggestion is about - instead this current suggestion is only about supporting coordinated transactions over 2 Db2-databases .