Re: INSERT ... ON CONFLICT syntax issues

From: Stephen Frost <sfrost(at)snowman(dot)net>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, Petr Jelinek <petr(at)2ndquadrant(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>, Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Subject: Re: INSERT ... ON CONFLICT syntax issues
Date: 2015-04-28 16:42:54
Message-ID: 20150428164254.GS30322@tamriel.snowman.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

* Peter Geoghegan (pg(at)heroku(dot)com) wrote:
> On Tue, Apr 28, 2015 at 7:38 AM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> > On 2015-04-28 16:36:28 +0200, Petr Jelinek wrote:
> >> I am also very sure that every time I'll write this statement I will have to
> >> look into manual for the names of TARGET and EXCLUDED because they don't
> >> seem intuitive to me at all (especially the EXCLUDED).
> >
> > Same here. I don't understand why 'CONFLICTING' would be more ambiguous
> > than EXCLUDED (as Peter argued earlier). Especially given that the whole
> > syntax is called ON CONFLICT.
>
> Because the TARGET and EXCLUDED tuples conflict with each other -
> they're both conflicting.

I agree with that, but how are NEW and OLD ambiguous? NEW is clearly
the tuple being added, while OLD is clearly the existing tuple.

Now that I think about it though, where that'd get ugly is using this
command *inside* a trigger function, which I can certainly imagine
people will want to do...

Thanks,

Stephen

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2015-04-28 16:45:41 Re: INSERT ... ON CONFLICT syntax issues
Previous Message Peter Geoghegan 2015-04-28 16:40:04 Re: INSERT ... ON CONFLICT syntax issues