BUG #12242: No error - if there is no comma seperator
The following bug has been logged on the website:
Bug reference: 12242
Logged by: Onkar Gaonkar
Email address: omkar1103@gmail.com
PostgreSQL version: 9.3.3
Operating system: Windows
Description:
Below script does not throw error
=======================================
SELECT
claim_status,
claim_key
FROM tbl_claim
WHERE claim_key IN
(
'1140799265'
'2129945595'
)
=======================================
Throws Error
=======================================
SELECT
claim_status,
claim_key
FROM tbl_claim
WHERE claim_key IN
(
'1140799265' '2129945595'
)
ERROR: syntax error at or near "'2129945595'"
LINE 7: '1140799265' '2129945595'
^
********** Error **********
ERROR: syntax error at or near "'2129945595'"
SQL state: 42601
Character: 113
=======================================
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
omkar1103@gmail.com writes:
Below script does not throw error
=======================================
SELECT
claim_status,
claim_key
FROM tbl_claim
WHERE claim_key IN
(
'1140799265'
'2129945595'
)
Throws Error
=======================================
SELECT
claim_status,
claim_key
FROM tbl_claim
WHERE claim_key IN
(
'1140799265' '2129945595'
)
Yup. This is not only not a bug, it's behavior required by the SQL
standard. Literal strings are concatenated automatically as long as
they're separated by a newline. This is mentioned in the PG docs
under 4.1.2.1. String Constants:
http://www.postgresql.org/docs/9.3/static/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS
(This is one of many decisions I'm sure the SQL committee would like
to have back, but we're pretty much stuck with it now.)
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