Re: insert on conflict on updatable views - Mailing list pgsql-hackers

From Peter Geoghegan
Subject Re: insert on conflict on updatable views
Date
Msg-id CAH2-WzmjVXfFbhPnz+rAKKL+7S7f_StrbQ=iomhBpu3k2dvNOQ@mail.gmail.com
Whole thread Raw
In response to insert on conflict on updatable views  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Responses Re: insert on conflict on updatable views
List pgsql-hackers
On Wed, Aug 1, 2018 at 7:15 PM, Amit Langote
<Langote_Amit_f8@lab.ntt.co.jp> wrote:
> create table foo (a int unique, b text);
> create view foo_view as select b, a+1 as c, a from foo;
>
> explain insert into foo_view (a, b) select 1, 2 on conflict (a) do update
> set b = excluded.b where excluded.c > 0;

> IOW, the EXCLUDED pseudo-relation should only allow referencing the
> columns present in the underlying physical relation.  Thoughts?

EXCLUDED represents the values that the user attempted to insert, so
it's arguably useful that EXCLUDED.c is accessible here, even though
the target rel doesn't have a "c" column.

Do you have some particular practical problem in mind here, or are you
just concerned about the semantics being exactly consistent?

-- 
Peter Geoghegan


pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: insert on conflict on updatable views
Next
From: Amit Kapila
Date:
Subject: Re: Explain buffers wrong counter with parallel plans