Re: jdbc xa patches - Mailing list pgsql-jdbc

From Heikki Linnakangas
Subject Re: jdbc xa patches
Date
Msg-id Pine.OSF.4.61.0507272233170.186794@kosh.hut.fi
Whole thread Raw
In response to Re: jdbc xa patches  (Michael Allman <msa@allman.ms>)
Responses Re: jdbc xa patches
List pgsql-jdbc
On Wed, 27 Jul 2005, Michael Allman wrote:

> Anyway, I'm counting on Postgres users knowing what they're doing, esp. with
> something as non-trivial as XA support.

We all know it's non-trivial, but it looks very innocent to the casual
user who just registers two data sources to an application server. He
doesn't see all the transaction managers and two-phase commits involved.
To him it indeed looks trivial.

Keeping that in mind, I think it's very important to give helpful error
messages that actually give you a clue what the problem is. That means for
example, that if the server version is too old to use two-phase commit,
the error message should say "Your server version is too old for two-phase
commit", not "Error executing statement PREPARE TRANSACTION 12343242".

As pointed out elsewhere in this thread, you can set both the error code
and the error message, just not directly in the XAException constructor.
How about a little helper method to keep the rest of the code clean:

private static constructXAException(int errcode, String message) {
   XAException ex = new XAException(message);
   ex.errorCode = errcode;
   return ex;
}

- Heikki

pgsql-jdbc by date:

Previous
From: Christian Cryder
Date:
Subject: smallint mapping issue
Next
From: Michael Allman
Date:
Subject: Re: jdbc xa patches