Re: INSERT ... ON CONFLICT syntax issues
От | Peter Geoghegan |
---|---|
Тема | Re: INSERT ... ON CONFLICT syntax issues |
Дата | |
Msg-id | CAM3SWZRyj=JxEe2V-wZo9ac6TfoGFk8=6MABJ1DL9J4prdjong@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: INSERT ... ON CONFLICT syntax issues (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On Wed, May 6, 2015 at 2:01 PM, Andres Freund <andres@anarazel.de> wrote: > How about > 6. The tablename and EXCLUDED? Possibility with the ability to specify > an AS for INSERT INTO foo AS whatever? > > From an implementation pov that'd be simple ;) That's what I wanted to do when I realized what Andres wanted to do with the TARGET alias. Clearly that would compel us to actually make the RETURNING clause buy into this alias, just as with a regular UPDATE. And not having the alias on the target also be magical seems like a good thing. Nothing can be broken by this scheme. No? >> NEW and OLD are pretty good. Like in an UPDATE trigger, NEW refers to the >> version after the UPDATE, and OLD to the version before. However, there's >> the serious problem that in a trigger function, OLD/NEW are already in use. >> How bad is that? At least in PL/pgSQL you can work around it by aliasing the >> variables, but it's a bit inconvenient. How often would INSERT .. ON >> CONFLICT DO UPDATE be used in a trigger? > > I personally think it's a killer. It'll be very annoying to understand > mistaken usage of NEW/OLD in that case. +1 -- Peter Geoghegan
В списке pgsql-hackers по дате отправления: