Tom Lane wrote: > > Mikko Vierula <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly