On Tue, Oct 10, 2017 at 2:35 AM, Julien Rouhaud <rjuju...@gmail.com> wrote: > Hugo Mercier (in Cc) reported me an error in a query, failing since pg10. > > Simple test case to reproduce: > > CREATE TABLE public.test (id integer); > WITH test AS (select 42) INSERT INTO public.test SELECT * FROM test; > > which will fail with "relation "test" cannot be the target of a > modifying statement". > > IIUC, that's an oversight in 18ce3a4ab22, where setTargetTable() > doesn't exclude qualified relation when searching for special > relation.
I agree. > PFA a simple patch to fix this issue, with updated regression test. Thanks! I suppose we could consider moving the schemaname check into getRTEForSpecialRelationType(), since otherwise both callers need to do that (and as you discovered, one forgot). -- Thomas Munro http://www.enterprisedb.com -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers