Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Petr Jelinek <petr@2ndquadrant.com>
From: Petr Jelinek <petr@2ndquadrant.com>
To: Peter Geoghegan <pg@heroku.com>, Marti Raudsepp <marti@juffo.org>
Cc: Simon Riggs <simon@2ndquadrant.com>, Bruce Momjian <bruce@momjian.us>,
Josh Berkus <josh@agliodbs.com>, Kevin Grittner <kgrittn@ymail.com>,
Andres Freund <andres@2ndquadrant.com>,
Heikki Linnakangas <hlinnakangas@vmware.com>,
Pg Hackers <pgsql-hackers@postgresql.org>,
Craig Ringer <craig@2ndquadrant.com>
Date: 2014-10-08T20:29:43Z
Lists: pgsql-hackers
On 08/10/14 11:28, Peter Geoghegan wrote: > On Wed, Oct 8, 2014 at 1:36 AM, Marti Raudsepp <marti@juffo.org> wrote: >> But the >> MERGE syntax, to me, strongly implies that insertion doesn't begin >> before determining whether a conflict exists or not. > > I think you're right. Another strike against the MERGE syntax, then, > since as I said we cannot even know what to check prior to having > before row insert triggers fire. > True, but to me it also seems to be strike against using INSERT for this as I don't really see how you can make triggers work in a sane way if the UPSERT is implemented as part of INSERT (at least I haven't seen any proposal that I would consider sane from the user point of view). -- Petr Jelinek http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Change the way we mark tuples as frozen.
- 37484ad2aace 9.4.0 cited
-
Add documentation for data-modifying statements in WITH clauses.
- 0ef0b3020402 9.1.0 cited