Re: [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10
От | YasonTR |
---|---|
Тема | Re: [BUGS] Possible regression in 'UPDATE ... SET ( |
Дата | |
Msg-id | gJQHKF6S1zCGkc_hq8S0neCD7N6R4frak1GgPvx8ETdKd4pWH3AgGarDw1Ic6hU1XgBoVeQ4WKOfnv7elm-rN3G1jwhOqyxI8IeounEc6v0=@protonmail.com обсуждение исходный текст |
Ответ на |
Re: [BUGS] Possible regression in 'UPDATE ... SET ( |
Ответы |
Re: [BUGS] Possible regression in 'UPDATE ... SET ( |
Список | pgsql-bugs |
Hi Tom,
I get your reference to the spec, but why is it working without ROW() when multiple columns are involved? For example: "UPDATE my_table SET (a, b) = (x, y)" works on v10 (afaik).
Thank you.
-------- Original Message --------Subject: Re: [BUGS] Possible regression in 'UPDATE ... SET () = ' with just one single column/row value since v10Local Time: October 24, 2017 4:18 PMUTC Time: October 24, 2017 2:18 PMFrom: tgl@sss.pgh.pa.usTo: YasonTR <yasontr@protonmail.com>pgsql-bugs@postgresql.org <pgsql-bugs@postgresql.org>YasonTR yasontr@protonmail.com writes:The following (odd) construction worked in pgv9.x: "UPDATE my_table SET (my_col) = (some value)". This no longer works in v10. It gives the error "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression". It looks like it only breaks when the column list just holds one single column.Yeah, IIRC this was an intentional change. The fact that the previouscoding allowed you to do that was a mistake, because per spec you reallyneed to supply a row value when you parenthesize the SET column list.As of v10 it should work to writeUPDATE 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:
В списке pgsql-bugs по дате отправления: