8.4 versus 8.2 against nonexistent column "name" ...
От | James Robinson |
---|---|
Тема | 8.4 versus 8.2 against nonexistent column "name" ... |
Дата | |
Msg-id | 8AB806D0-91F7-4D31-BB6E-690E4419C770@socialserve.com обсуждение исходный текст |
Ответы |
Re: 8.4 versus 8.2 against nonexistent column "name" ...
|
Список | pgsql-sql |
Can anyone shine a light on why 8.4 behaves surprisingly when being queried for a bogus column "name", but only using qualified table/ column references. Here's a sample script: ----- create table foo (id int,x int ); insert into foo(id, x) values(1, 23),(2, 43),(4, 45); -- Fails on both -- no column named 'name' select name from foo; -- Fails on 8.2, still no 'name' column, but 8.4 succeeds returning whole rows. select f.name from foo f; ---- On 8.2.11, both selects fail: CREATE TABLE INSERT 0 3 ERROR: column "name" does not exist LINE 1: select name from foo; ^ ERROR: column f.name does not exist LINE 1: select f.name from foo f; ^ On 8.4.2, the first select fails, but the second succeeds, returning whole rows wrapped up like tuples: CREATE TABLE INSERT 0 3 ERROR: column "name" does not exist LINE 1: select name from foo; ^ name -------- (1,23) (2,43) (4,45) (3 rows) A quick skim through the 8.3. and 8.4. release notes found nothing interesting related to 'name'. Thanks! ---- James Robinson Socialserve.com
В списке pgsql-sql по дате отправления: