Thread: Postgres 14 update clause bug

Postgres 14 update clause bug

From
Jüri Tali
Date:

Hi,

 

Postgres 14 probably have Update clause bug

 

If I write Update clause little bit wrong:

 

UPDATE „table name“ SET column1=1 and column2=2

WHERE id=1;  there is a syntax error, in set part columns must be delimited with comma

 

Then postgres 14 do not give a error message and show that Update is successful, but without no updated columns.

POstgres 12 gives a error.

 

Exact version: psql (14.1 (Ubuntu 14.1-2.pgdg20.04+1))

 

I will be happy to answer any additional questions that may arise

 

 

Best regards,

Jüri Tali
Chief specialist  | IT department

+372 625 6549


Ministry of Rural Affairs

Lai tn 39 // Lai tn 41 | 15056 Tallinn

625 6101 | www.agri.ee , Facebook

 

 

Re: Postgres 14 update clause bug

From
Julien Rouhaud
Date:
On Thu, Feb 10, 2022 at 07:29:54AM +0000, Jüri Tali wrote:
> 
> Postgres 14 probably have Update clause bug
> 
> If I write Update clause little bit wrong:
> 
> UPDATE "table name" SET column1=1 and column2=2
> WHERE id=1;  there is a syntax error, in set part columns must be delimited with comma
> 
> Then postgres 14 do not give a error message and show that Update is successful, but without no updated columns.
> POstgres 12 gives a error.

Can you show the definition of the table on both system?  Also did you add some
extension or created some casts?  I'm wondering if your problem is that you're
actually executing something like that:

UPDATE table_name SET column1 = (1::bool AND column2 = 2) WHERE id = 1;

due to implicit int - bool cast, which aren't present in you pg12 instance (and
shouldn't be present in vanilla postgres).