BUG #14748: Invalid statement should raise parse error, but ignores invalid part instead

Started by Nonameover 8 years ago2 messagesbugs
Jump to latest
#1Noname
johnthuss@gmail.com

The following bug has been logged on the website:

Bug reference: 14748
Logged by: John Huss
Email address: johnthuss@gmail.com
PostgreSQL version: 9.6.1
Operating system: Linux
Description:

This statement is invalid because the 'AND' should be a WHERE or a comma:

update mytable set active = false and foreign_ID = 18984

But when executed it doesn't raise a parse error and simply ignores the
'and' and everything after it.

The result of the statement is that every row in the table is updated with
active=false.

I would expect this to throw a parse error.

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

#2Andres Freund
andres@anarazel.de
In reply to: Noname (#1)
Re: BUG #14748: Invalid statement should raise parse error, but ignores invalid part instead

On 2017-07-17 14:51:26 +0000, johnthuss@gmail.com wrote:

The following bug has been logged on the website:

Bug reference: 14748
Logged by: John Huss
Email address: johnthuss@gmail.com
PostgreSQL version: 9.6.1
Operating system: Linux
Description:

This statement is invalid because the 'AND' should be a WHERE or a comma:

update mytable set active = false and foreign_ID = 18984

But when executed it doesn't raise a parse error and simply ignores the
'and' and everything after it.

The result of the statement is that every row in the table is updated with
active=false.

I would expect this to throw a parse error.

What happens is that you're assigning the result of the expression
'false and foreign_ID = 18984'.

- Andres

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