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 по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: INSERT ... ON CONFLICT syntax issues
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: Re: INSERT ... ON CONFLICT syntax issues