This works in Oracle but doesn't work in PostgreSQL's JDBC, since we have to use the same XAResource instance to prepare the xid.
I know why we have to 'prepare transaction xxx' in the same connection for PostgreSQL kernel. For now my question is: can we do the 'prepare transaction 'xxx'' during XAResource.end(xid, TMSUCCESS); and later in XAResource2.prepare(xid), we can double check if it is prepared already, if so we can just return XA_OK. the benefit of this is that the user doesn't
have to prepare in the same connection.
Asking customers not to do this is not an option in my case,
and I'm not asking our community to do so, I'm just asking what