From: | Robert Treat <xzilla(at)users(dot)sourceforge(dot)net> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: INSERT ON DUPLICATE KEY UPDATE |
Date: | 2004-06-18 21:32:25 |
Message-ID: | 1087594345.2111.78.camel@camel |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Fri, 2004-06-18 at 16:41, Jim Seymour wrote:
> Robert Treat <xzilla(at)users(dot)sourceforge(dot)net> wrote:
> >
> [snip]
> >
> > IIRC the main downside to the select/update method is it introduces a
> > race condition that can only be solved by locking the table; not an
> > issue for most my$ql apps but would be frowned upon by most postgresql
> > users.
> [snip]
>
> One way around the race condition is to insert and, if the insert
> fails, do an update. If that fails, then something is actually wrong.
>
> One caveat regarding the above solution: Even when an insert fails, if
> there's a column with a sequence in it, that sequence will be
> incremented nonetheless.
>
The other being that you can't do that within a transaction in
postgresql. Course that should change if alvaro gets nested transactions
done for 7.5. (go alvaro go!)
Robert Treat
--
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | DeJuan Jackson | 2004-06-18 21:55:43 | Re: Trigger to update records out of memory |
Previous Message | Robert Treat | 2004-06-18 21:29:25 | Re: INSERT ON DUPLICATE KEY UPDATE |