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" ...  (Osvaldo Kussama <osvaldo.kussama@gmail.com>)
Список 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 по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: select points of polygons
Следующее
От: Osvaldo Kussama
Дата:
Сообщение: Re: 8.4 versus 8.2 against nonexistent column "name" ...