Re: [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10 - Mailing list pgsql-bugs

From Tom Lane
Subject Re: [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10
Date
Msg-id 22434.1508854720@sss.pgh.pa.us
Whole thread Raw
In response to [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10  (YasonTR <yasontr@protonmail.com>)
Responses Re: [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10  (YasonTR <yasontr@protonmail.com>)
List pgsql-bugs
YasonTR <yasontr@protonmail.com> writes:
> The following (odd) construction worked in pgv9.x: "UPDATE my_table SET (my_col) = (some value)". This no longer
worksin v10. It gives the error "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression". It
lookslike it only breaks when the column list just holds one single column. 

Yeah, IIRC this was an intentional change.  The fact that the previous
coding allowed you to do that was a mistake, because per spec you really
need to supply a row value when you parenthesize the SET column list.
As of v10 it should work to write
UPDATE my_table SET (my_col) = ROW(some value)
        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

pgsql-bugs by date:

Previous
From: Pavel Suderevsky
Date:
Subject: Re: [BUGS] BUG #14863: wrong reltuples statistics after vacuum without analyze
Next
From: YasonTR
Date:
Subject: Re: [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10