Re: Possible Bug - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Possible Bug
Date
Msg-id 201102090644.26376.adrian.klaver@gmail.com
Whole thread Raw
In response to Possible Bug  (Kaloyan Iliev Iliev <kaloyan@digsys.bg>)
List pgsql-general
On Wednesday, February 09, 2011 1:51:38 am Kaloyan Iliev Iliev wrote:
> Hi,
> I think I found something strange in PostgreSQL behavior. Here is an
> example:
>
>
> testdb=# CREATE TABLE test1 (test2 text, test3 text);
> CREATE TABLE
> testdb=# SELECT A.name FROM test1 A;
>  name
> ------
> (0 rows)
>
> testdb=#  INSERT INTO test1 (test2,test3) VALUES ('1','2');
> INSERT 0 1
> testdb=# INSERT INTO test1 (test2,test3) VALUES ('3','4');
> INSERT 0 1
> testdb=# SELECT A.name FROM test1 A;
>  name
> -------
>  (1,2)
>  (3,4)
> (2 rows)
>
> customer.20080408=# SELECT name FROM test1;
> ERROR:  column "name" does not exist
> LINE 1: SELECT name FROM test1;
>
>
> testdb=# SELECT version();
>
> version
> ---------------------------------------------------------------------------
> ------------------------------- PostgreSQL 8.4.5 on
> amd64-portbld-freebsd8.1, compiled by GCC cc (GCC) 4.2.1 20070719
> [FreeBSD], 64-bit
> (1 row)
>
> Obviously there is no column with name "name", but the SELECT query
> (ONLY WHEN I USE ALIASES) returns result for it.
> And if I have a column with name "name_en" and by mistake write it
> "name", instead of error I receive strange data (ARRAY from all
> columns), that I don't expect.
>
> Could you tell me if this is a bug or some feature I haven't heard of.

Depending on your point of view both. For a good explanation see:

http://www.depesz.com/index.php/2010/11/08/waiting-for-9-1-removed-autocast-
footgun/

As detailed above this feature will go away in 9.1.

>
> Best regards,
>  Kaloyan Iliev



--
Adrian Klaver
adrian.klaver@gmail.com

pgsql-general by date:

Previous
From: Vick Khera
Date:
Subject: Re: tuning postgresql writes to disk
Next
From: hubert depesz lubaczewski
Date:
Subject: Why I need to use SETOF TEXT when I'm returning single column?