Re: XA support - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: XA support
Date
Msg-id 42C31E54.20000@opencloud.com
Whole thread Raw
In response to XA support  (Heikki Linnakangas <hlinnaka@iki.fi>)
Responses Re: XA support
List 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

pgsql-jdbc by date:

Previous
From: John Sidney-Woollett
Date:
Subject: UNSUBSCRIBE
Next
From: Oliver Jowett
Date:
Subject: Re: jdbc cts final diff for review