| From: | Robert Treat <xzilla(at)users(dot)sourceforge(dot)net> | 
|---|---|
| To: | pgsql-hackers(at)postgresql(dot)org | 
| Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Decibel! <decibel(at)decibel(dot)org>, Martijn van Oosterhout <kleptog(at)svana(dot)org>, Gregory Stark <stark(at)enterprisedb(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, "A(dot)M(dot)" <agentm(at)themactionfaction(dot)com> | 
| Subject: | Re: MERGE Specification | 
| Date: | 2008-04-25 01:59:57 | 
| Message-ID: | 200804242159.58724.xzilla@users.sourceforge.net | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Thursday 24 April 2008 12:19, Tom Lane wrote:
> Decibel! <decibel(at)decibel(dot)org> writes:
> > That really strikes me as taking the "MySQL route". If push comes to
> > shove, I'll take a MERGE with race conditions over no merge at all,
> > but I think it's very important that it does the right thing. Just
> > because the spec doesn't say anything about it doesn't mean it's ok.
>
> Agreed.  It seems to me that in the last set of discussions, we rejected
> implementing MERGE precisely because it failed to provide a solution to
> the race-condition problem.  I'm not satisfied with a version that
> doesn't handle that, because I think that is *exactly* what most people
> will try to use it for.  The non-concurrent bulk update case that Simon
> is arguing for is the uncommon usage.
>
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. 
-- 
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Bruce Momjian | 2008-04-25 03:14:03 | Re: Proposed patch - psql wraps at window width | 
| Previous Message | Tom Lane | 2008-04-24 22:38:11 | Re: Proposed patch - psql wraps at window width |