On 2015-03-19 23:31:21 +0900, Tatsuo Ishii wrote:
> > That SQLSTATE value is intended to be used where the transaction
> > has failed because it was run concurrently with some other
> > transaction, rather than before or after it; and it is intended to
> > suggest that the transaction may succeed if run after the competing
> > transaction has completed. If those apply, it seems like the right
> > SQLSTATE. A user can certainly distinguish between the conditions
> > by looking at the error messages.
>
> It is sad for users the only way to distinguish the conditions is by
> looking at the error messages. They want to know the root of the
> problem.
Sure. It's always a balance. If you go to the extreme of your argument
every possible error gets one individual error code. But then error
handling gets too complex.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services