Re: Serializable transactions and SQLException
От
Oliver Jowett
Тема
Re: Serializable transactions and SQLException
Дата
Msg-id
41815066.1060308@opencloud.com
Ответ на
Serializable transactions and SQLException (Giampaolo Tomassoni)
Список
Дерево обсуждения
Serializable transactions and SQLException Giampaolo Tomassoni <g.tomassoni@libero.it>
Re: Serializable transactions and SQLException Oliver Jowett <oliver@opencloud.com>
Re: Serializable transactions and SQLException Kris Jurka <books@ejurka.com>
Re: Serializable transactions and SQLException Giampaolo Tomassoni <g.tomassoni@libero.it>
Re: Serializable transactions and SQLException Kris Jurka <books@ejurka.com>
Re: Serializable transactions and SQLException Giampaolo Tomassoni <g.tomassoni@libero.it>
Giampaolo Tomassoni wrote: > Dears, > > 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? Your best bet is to use a 7.4 or later server and inspect the SQLState of the exception. To find out what SQLState to expect, either try it and see, or take a look at src/include/utils/errcodes.h in the server source tree and pair it up with the appropriate ereport() call you are interested in. For transaction serialization failures it is ERRCODE_T_R_SERIALIZATION_FAILURE which has a SQLState of 40001. SQLStates are somewhat standardized around SQL99. The comments in errcodes.h say: >> * The SQL99 code set is rather impoverished, especially in the area of >> * syntactical and semantic errors. We have borrowed codes from IBM's DB2 >> * and invented our own codes to develop a useful code set. I have no idea what Oracle does in this area. -O
В списке pgsql-jdbc по дате отправления
От: skeize@gmail.com (skeize@gmail.com)
Дата:
От: Oliver Jowett
Дата: