From: | Kris Jurka <books(at)ejurka(dot)com> |
---|---|
To: | Giampaolo Tomassoni <g(dot)tomassoni(at)libero(dot)it> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: Serializable transactions and SQLException |
Date: | 2004-10-29 02:19:00 |
Message-ID: | Pine.BSO.4.56.0410282111470.19094@leary.csoft.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
On Thu, 28 Oct 2004, Giampaolo Tomassoni wrote:
> I would like to develop java code using the pgsql-jdbc driver on
> serializable isolated transactions. The (general) pgsql manual states
> that this, of course, may cause concurrent updating transaction failures
> to inform the client to retry the transaction as a whole.
>
> This is said to be reported by the error message:
>
> ERROR: Can't serialize access due to concurrent update
>
>
> Great. I want to cope with it. But what's the SQLException.getSQLState() value
> associated to this? Or is it a SQLException.getErrorCode()? Is this value
> something 'standard', in the sense that, ie., if I need to switch to Oracle
> it works fine? Is there a better way to identify 'please, retry' suggestions
> than browsing the SQLException object?
If you are connected to a >= 7.4 server getSQLState will have a value for
this error. The best way to identify it and make sure you code works on
other database platforms is to actually write a small test case to
generate this error and grab the error code. PG will always return
the same error code, but other databases may not use the same one and the
best way to find out is actually testing.
Kris Jurka
From | Date | Subject | |
---|---|---|---|
Next Message | Kris Jurka | 2004-10-29 02:20:25 | Re: Setting up JDBC on a Windows Platform (PostgreSQL) |
Previous Message | Oliver Jowett | 2004-10-28 23:33:43 | Re: PGobject overhaul (was Re: tightening up on use of oid |