Global transaction IDs

The transaction manager automatically generates and maintains a global transaction ID (of type XID) for each distributed XA transaction in the system. The transaction manager can use the same XID for transactions on different databases.

You can set the IFX_XA_UNIQUEXID_IN_DATABASE configuration parameter to allow the same XID to represent global transactions on different databases in the same database server instance. If you allow the server to use the same XID on different databases, your databases (instead of the server) are the domain for transactions.

If a transaction has a current transaction ID, the transaction manager uses that transaction ID for the global transaction and fills the XID structure with the transaction ID. The XID structure is defined in the xa.h file in the $INFORMIXDIR/incl/public directory.