On 4/25/08, Robert Treat <[EMAIL PROTECTED]> wrote: > On Thursday 24 April 2008 23:40, Tom Lane wrote: > > Robert Treat <[EMAIL PROTECTED]> writes: > > > Perhaps a better option would be to implement Merge per spec, and then > > > implement a "replace into" command for the oltp scenario. This way you > > > keep the spec behavior for the spec syntax, and have a clearly non-spec > > > command for non-spec behavior. > > > > In that case, it's a fair question to ask just who will use the "spec" > > syntax. As far as I can tell from years of watching the mailing lists, > > there is plenty of demand for a concurrent-safe insert-or-update > > behavior, and *exactly zero* demand for the other. I challenge you to > > find even one request for the "spec" behavior in the mailing list > > archives. (Simon doesn't count.) > > > > > AIUI the current implementation is designed to avoid race conditions partially > at the cost of being insert friendly and somewhat update unfriendly. My guess > is that most of the people wanting this for OLTP use want an update friendly > implementation (that's certainly been the majority of cases I've needed > myself, and that I have seen others use).
This seems to hint that there should be 2 variants of merge/upsert - insert-friendly and update-friendly... It seems unlikely one implementation can be both. And especially bad would be implementation that is neither. -- marko -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers