Re: BUG #9006: Incorrect update when using where with non-existent column in subselect - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #9006: Incorrect update when using where with non-existent column in subselect
Date
Msg-id 420.1390875223@sss.pgh.pa.us
Whole thread Raw
In response to BUG #9006: Incorrect update when using where with non-existent column in subselect  (martin.nzioki@gmail.com)
Responses Re: BUG #9006: Incorrect update when using where with non-existent column in subselect  ("Martin Nzioki" <martin.nzioki@gmail.com>)
List pgsql-bugs
martin.nzioki@gmail.com writes:
> create table _test1 (id int not null primary key, c2 int);
> insert into _test1 (id) select * from generate_series(1, 5);

> create table _tmp_test2 (id_fk int not null);
> insert into _tmp_test2 (id_fk) select id from _test1 limit 2;

> update _test1 set c2 = 7 where id in (select id from _tmp_test2);

This is a FAQ ... that statement is perfectly valid per SQL standard,
it just doesn't do what you expect, because the sub-select's "id" is
taken as an outer reference to _test1's id column.

            regards, tom lane

pgsql-bugs by date:

Previous
From: martin.nzioki@gmail.com
Date:
Subject: BUG #9006: Incorrect update when using where with non-existent column in subselect
Next
From: stefan.kirchev@gmail.com
Date:
Subject: BUG #9007: List comparison