BUG #13502: parser misconstrues table alias

Started by rob stonealmost 11 years ago3 messagesbugs
Jump to latest
#1rob stone
floriparob@gmail.com

The following bug has been logged on the website:

Bug reference: 13502
Logged by: Robert Stone
Email address: floriparob@gmail.com
PostgreSQL version: 9.4.4
Operating system: Debian stretch/sid
Description:

I aliased a table using the letters TO and the parser pulled an error.
Happens in psql as well as the JDBC driver.
By altering the table alias to TOL overcame the problem.

dinkumerp=# SELECT TO.tol_id, TO.lang_code, SL.lang_name, TO.no_list_text,
TO.table_comment FROM supported_languages SL, tables_opt_list TO WHERE
TO.lang_code = SL.lang_code AND TO.table_key = 'COA' ORDER BY TO.lang_code;
ERROR: syntax error at or near "TO"
LINE 1: SELECT TO.tol_id, TO.lang_code, SL.lang_name, TO.no_list_tex...

PostgreSQL 9.4.4 on x86_64-unknown-linux-gnu, compiled by gcc-4.9.real
(Debian 4.9.2-20) 4.9.2, 64-bit
(1 row)

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: rob stone (#1)
Re: BUG #13502: parser misconstrues table alias

floriparob@gmail.com writes:

I aliased a table using the letters TO and the parser pulled an error.

TO is a fully reserved word. See
http://www.postgresql.org/docs/9.4/static/sql-keywords-appendix.html

regards, tom lane

--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

#3David G. Johnston
david.g.johnston@gmail.com
In reply to: rob stone (#1)
Re: BUG #13502: parser misconstrues table alias

On Wednesday, July 15, 2015, <floriparob@gmail.com> wrote:

The following bug has been logged on the website:

Bug reference: 13502
Logged by: Robert Stone
Email address: floriparob@gmail.com <javascript:;>
PostgreSQL version: 9.4.4
Operating system: Debian stretch/sid
Description:

I aliased a table using the letters TO and the parser pulled an error.
Happens in psql as well as the JDBC driver.
By altering the table alias to TOL overcame the problem.

Since TO is fully reserved in the SQL syntax, including PostgreSQL's
implementation, this is not surprising. If you really want to use those
letters you need to double-quite them. "TO".column_name.

http://www.postgresql.org/docs/9.4/interactive/sql-keywords-appendix.html

David J.