Re: BUG #13886: When INSERT ON CONFLICT DO UPDATE updates, it returns INSERT rather than UPDATE
От | Marko Tiikkaja |
---|---|
Тема | Re: BUG #13886: When INSERT ON CONFLICT DO UPDATE updates, it returns INSERT rather than UPDATE |
Дата | |
Msg-id | 56A67BA7.7020201@joh.to обсуждение исходный текст |
Ответ на | Re: BUG #13886: When INSERT ON CONFLICT DO UPDATE updates, it returns INSERT rather than UPDATE (Peter Geoghegan <pg@heroku.com>) |
Ответы |
Re: BUG #13886: When INSERT ON CONFLICT DO UPDATE updates, it
returns INSERT rather than UPDATE
|
Список | pgsql-bugs |
On 2016-01-25 8:35 PM, Peter Geoghegan wrote: > On Mon, Jan 25, 2016 at 2:00 AM, Marko Tiikkaja <marko@joh.to> wrote: >> FWIW, I would've expected to be able to do RETURNING excluded.foo which >> would have been NULL in case of INSERT, and the value from the updated tuple >> otherwise. But that doesn't seem to work. > > The problem with that approach is that it makes both the target table > and the excluded pseudo table visible from within RETURNING. If we > were to do that, virtually every use of INSERT with both an ON > CONFLICT DO UPDATE clause and a RETURNING clause breaks. That's > because any unqualified column reference becomes ambiguous ("Did you > mean target.foo or excluded.foo?"). Surely there's a way to make this work so that EXCLUDED is a special tuple whose fields are normally not in scope, but can be accessed explicitly. But this discussion belongs to -HACKERS, as you said upthread. .m
В списке pgsql-bugs по дате отправления: