From: | Oliver Jowett <oliver(at)opencloud(dot)com> |
---|---|
To: | Dave Cramer <pg(at)fastcrypt(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: 2PC transaction id |
Date: | 2005-07-01 00:00:40 |
Message-ID: | 42C487A8.70003@opencloud.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Dave Cramer wrote:
> I'm thinking of the situation where one transaction occurs on more than
> one backend, and there is
> more than one transaction manager.
XA XIDs are *global* IDs, i.e. they are unique even with more than one
TM involved. It's the responsibility of the TM to generate a
globally-unique XID.
If you have two different databases involved in the same global
transaction, then yes, the two backends could be told to use the same
global XID. That's normal. (they don't *have* to be given the same XID
as they could be participating in two independent branches of the same
global transaction, and in that case the global XIDs will have different
branch qualifiers)
It's even possible for one resource to do two different independent
(local) transactions that are part of the same global transaction -- in
that case, the local transactions will be given different XIDs though.
But all of this allocation / management of XIDs is done by the TM, the
individual resources don't need to do anything beyond associating
particular transactions with client-supplied XIDs, which we already do
AFAIK.
-O
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2005-07-01 00:37:50 | Re: 2PC transaction id |
Previous Message | Greg Stark | 2005-06-30 23:50:18 | Re: [HACKERS] Dbsize backend integration |
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2005-07-01 00:37:50 | Re: 2PC transaction id |
Previous Message | Greg Stark | 2005-06-30 23:50:18 | Re: [HACKERS] Dbsize backend integration |