Re: Serializable access giving wrong error messages? - Mailing list pgsql-bugs

From Hiroshi Inoue
Subject Re: Serializable access giving wrong error messages?
Date
Msg-id 3C2BB49D.85DE2951@tpf.co.jp
Whole thread Raw
In response to Serializable access giving wrong error messages?  (Mikko Vierula <mikko.vierula@elektroniikkatyo.fi>)
Responses Re: Serializable access giving wrong error messages?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
Tom Lane wrote:
>
> Mikko Vierula <mikko.vierula@elektroniikkatyo.fi> writes:
> > But all
> > those errors really are because of serialization problems. So shouldn't
> > I be receiving a error stating that?
>
> I disagree, because I don't think it's reasonable to expect the system
> to make that deduction.  I prefer a specific error message telling you
> what's actually wrong ("duplicate key") to a vague error message that
> might in fact be incorrect (leaping to a "can't serialize access"
> conclusion).
>
> In the example you give, the reason that you as an intelligent human can
> classify the error as a serialization problem is that earlier in the
> transaction you searched for the key and didn't find it.  Had you not
> done that, you could not argue that "duplicate key" is the wrong message.

PostgreSQL doesn't need to remember the preceding operations
at all in order to judge if a "can't serialize access" error
is occurred.
In Mikko's both examples, Transaction 1 has to see a tuple
which didn't exist at the beginning of the transaction
while checking duplicate error.

regards,
Hiroshi Inoue

pgsql-bugs by date:

Previous
From: Scott Royston
Date:
Subject: Re: Implicit cast of literal in SQL statements
Next
From: Tom Lane
Date:
Subject: Re: Serializable access giving wrong error messages?