From: | YasonTR <yasontr(at)protonmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "pgsql-bugs(at)postgresql(dot)org" <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: Possible regression in 'UPDATE ... SET (<column list>) = <row expression>' with just one single column/row value since v10 |
Date: | 2017-10-24 14:55:10 |
Message-ID: | gJQHKF6S1zCGkc_hq8S0neCD7N6R4frak1GgPvx8ETdKd4pWH3AgGarDw1Ic6hU1XgBoVeQ4WKOfnv7elm-rN3G1jwhOqyxI8IeounEc6v0=@protonmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 v10
> Local Time: October 24, 2017 4:18 PM
> UTC Time: October 24, 2017 2:18 PM
> From: tgl(at)sss(dot)pgh(dot)pa(dot)us
> To: YasonTR <yasontr(at)protonmail(dot)com>
> pgsql-bugs(at)postgresql(dot)org <pgsql-bugs(at)postgresql(dot)org>
>
> YasonTR yasontr(at)protonmail(dot)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 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(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-bugs
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2017-10-24 15:07:45 | Re: Possible regression in 'UPDATE ... SET (<column list>) = <row expression>' with just one single column/row value since v10 |
Previous Message | Tom Lane | 2017-10-24 14:18:40 | Re: Possible regression in 'UPDATE ... SET (<column list>) = <row expression>' with just one single column/row value since v10 |