Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Peter Geoghegan <pg@heroku.com>
Cc: Jeff Janes <jeff.janes@gmail.com>, Robert Haas <robertmhaas@gmail.com>, Josh Berkus <josh@agliodbs.com>, Craig Ringer <craig@2ndquadrant.com>, Anssi Kääriäinen <anssi.kaariainen@thl.fi>, Simon Riggs <simon@2ndquadrant.com>, Bruce Momjian <bruce@momjian.us>, Kevin Grittner <kgrittn@ymail.com>, Andres Freund <andres@2ndquadrant.com>, Heikki Linnakangas <hlinnakangas@vmware.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2014-12-22T02:10:02Z
Lists: pgsql-hackers
On Sun, Dec 21, 2014 at 6:56 AM, Peter Geoghegan <pg@heroku.com> wrote: > On Thu, Dec 18, 2014 at 9:31 AM, Peter Geoghegan <pg@heroku.com> wrote: >>> So I think there needs to be some kind of logic to de-recognize the table >>> alias "foo". >>> >>> Once I rewrote the query to use TARGET and EXCLUDED correctly, I've put this >>> through an adaptation of my usual torture test, and it ran fine until >>> wraparound shutdown. I'll poke at it more later. >> >> Oops. I agree with your diagnosis, and will circle around to fix that >> bug in the next revision > > Attached patch fixes the bug. I'm not delighted about the idea of > cutting off parent parse state (the parse state of the insert) within > transformUpdateStmt() only once we've used the parent state to > establish that this is a "speculative"/auxiliary update, but it's > probably the path of least resistance here. > > When this is rolled into the next version, there will be a testcase. Looking at this thread, the last version of this patch is available here: http://www.postgresql.org/message-id/CAM3SWZRvkCKc=1Y6_Wn8mk97_Vi8+j-aX-RY-=msrJVU-Ec-qw@mail.gmail.com And they do not apply correctly, so this patch needs a rebase. Regards, -- Michael
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