BUG #13273: A query that returns wrongly labeled result instead of syntax error
The following bug has been logged on the website:
Bug reference: 13273
Logged by: Missing comma in SELECT list results in wrong label without error
Email address: v-brody@seznam.cz
PostgreSQL version: 9.4.1
Operating system: CentOS Linux
Description:
Following query (notice the missing comma between top-level "x" and "y")
returns 1 (which is "x" value) under label "y" without any warning.
select
"x" "y"
from
(
select
"a" as "x", "b" as "y"
from
(
select 1 as "a", 2 as "b"
) "subquery1"
) "subquery2";
Expected behavior: syntax error
Environment:
PostgreSQL 9.4.1 on Linux version 2.6.32-504.16.2.el6.x86_64
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
On Tue, May 12, 2015 at 10:46 AM, <v-brody@seznam.cz> wrote:
The following bug has been logged on the website:
Bug reference: 13273
Logged by: Missing comma in SELECT list results in wrong label without error
Email address: v-brody@seznam.cz
PostgreSQL version: 9.4.1
Operating system: CentOS Linux
Description:Following query (notice the missing comma between top-level "x" and "y")
returns 1 (which is "x" value) under label "y" without any warning.select
"x" "y"
from
(
select
"a" as "x", "b" as "y"
from
(
select 1 as "a", 2 as "b"
) "subquery1"
) "subquery2";Expected behavior: syntax error
That is valid syntax, the AS keyword is optional (in PostgreSQL as
well as in standard SQL):
http://www.postgresql.org/docs/9.4/static/sql-select.html
postgres=# select 42 as y;
y
----
42
(1 row)
postgres=# select 42 y;
y
----
42
(1 row)
--
Thomas Munro
http://www.enterprisedb.com
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
Thomas Munro writes:
On Tue, May 12, 2015 at 10:46 AM, <v-brody@seznam.cz> wrote:
The following bug has been logged on the website:
Bug reference: 13273
Logged by: Missing comma in SELECT list results in wrong label without error
Email address: v-brody@seznam.cz
PostgreSQL version: 9.4.1
Operating system: CentOS Linux
Description:Following query (notice the missing comma between top-level "x" and "y")
returns 1 (which is "x" value) under label "y" without any warning.select
"x" "y"
from
(
select
"a" as "x", "b" as "y"
from
(
select 1 as "a", 2 as "b"
) "subquery1"
) "subquery2";Expected behavior: syntax error
That is valid syntax, the AS keyword is optional (in PostgreSQL as
well as in standard SQL):http://www.postgresql.org/docs/9.4/static/sql-select.html
postgres=# select 42 as y;
y
----
42
(1 row)postgres=# select 42 y;
y
----
42
(1 row)
I'm really sorry, I realized that immediately after submitting.
Although I think that demanding explicit AS in this case (when
overshadowing some name) might be useful. :-)
Thank you for your time,
Václav Brodec
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs