From: | Oliver Jowett <oliver(at)opencloud(dot)com> |
---|---|
To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: XA support |
Date: | 2005-06-29 22:19:00 |
Message-ID: | 42C31E54.20000@opencloud.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Heikki Linnakangas wrote:
> B. When the second transaction starts, the first transaction is prepared
> behind the scenes, freeing the connection for the new transaction.
This is probably the way to go initially, since it's much simpler. It
should also deal with the more common uses of XA where you're just
coordinating 2 or more resources in an otherwise straightforward
begin-do stuff-commit sequence. We can get clever later :)
Related issues: supporting this case:
xaRes.start(xid1, XAResource.TMNOFLAGS);
stmt.executeUpdate("...");
xaRes.end(xid1, XAResource.TMSUSPEND);
// ...
xaRes.start(xid1, XAResource.TMRESUME);
stmt.executeUpdate("...");
xaRes.end(xid1, XAResource.TMSUCCESS);
and this one:
xaRes.start(xid1, XAResource.TMNOFLAGS);
stmt.executeUpdate("...");
xaRes.end(xid1, XAResource.TMSUCCESS);
// ...
xaRes.start(xid1, XAResource.TMJOIN);
stmt.executeUpdate("...");
xaRes.end(xid1, XAResource.TMSUCCESS);
and this one (yow!):
(thread 1):
xaRes.start(xid1, XAResource.TMNOFLAGS);
stmt.executeUpdate("...");
(thread 2):
xaRes.start(xid1, XAResource.TMJOIN);
stmt.executeUpdate("...");
-O
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2005-06-29 22:24:06 | Re: jdbc cts final diff for review |
Previous Message | John Sidney-Woollett | 2005-06-29 21:41:18 | UNSUBSCRIBE |