BUG #13273: A query that returns wrongly labeled result instead of syntax error

Started by Václav Brodecalmost 11 years ago3 messagesbugs
Jump to latest
#1Václav Brodec
v-brody@seznam.cz

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

#2Thomas Munro
thomas.munro@gmail.com
In reply to: Václav Brodec (#1)
Re: BUG #13273: A query that returns wrongly labeled result instead of syntax error

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

#3Václav Brodec
v-brody@seznam.cz
In reply to: Thomas Munro (#2)
Re: BUG #13273: A query that returns wrongly labeled result instead of syntax error

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