[HACKERS] PG10b2: column-list UPDATE syntax fails with single column

Поиск
Список
Период
Сортировка
От Justin Pryzby
Тема [HACKERS] PG10b2: column-list UPDATE syntax fails with single column
Дата
Msg-id 20170719174507.GA19616@telsasoft.com
обсуждение исходный текст
Ответы Re: [HACKERS] PG10b2: column-list UPDATE syntax fails with single column  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
In testing our application with PG10beta2, I discovered that our use of UPDATE
broke, apparently by this commit

|commit 906bfcad7ba7cb3863fe0e2a7810be8e3cd84fbd
|Author: Tom Lane <tgl@sss.pgh.pa.us>
|Date:   Tue Nov 22 15:19:57 2016 -0500
|
|    Improve handling of "UPDATE ... SET (column_list) = row_constructor".

ERROR ON QUERY: UPDATE eric_enodeb_cell_metrics SET (pmActiveDrbDlSum)=(%s) WHERE sect_id=%s AND subnetwork_id=%s AND
start_time=%sAND site_id=%s AND interval_seconds=%s AND nedn=%s AND mecontext=%s AND EUtranCellxDD=%s AND EUtranCell=%s
ANDsubnetwork=%s AND device_id=%s --
 
Query Error: ERROR:  source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression

This still works for multiple columns but in pg10b2 no longer works for single
column update with "column_list" syntax.

ts=# begin; UPDATE eric_enodeb_201707 SET (pmhdelayvarbest50pct,pmlicconnecteduserstimecong)=(0,0) ;
BEGIN
UPDATE 3
ts=# begin; UPDATE eric_enodeb_201707 SET (pmhdelayvarbest50pct)=(0) ;
BEGIN
ERROR:  source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression

It may be that our use was wrong (?) or unintuitive (I'm in the middle of
changing it), but wondered if it was intentional or otherwise if the release
notes should mention that old syntax is no longer accepted.

Either way - thanks in advance.

Justin



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ashutosh Sharma
Дата:
Сообщение: Re: [HACKERS] pl/perl extension fails on Windows
Следующее
От: Robert Haas
Дата:
Сообщение: Re: [HACKERS] Pluggable storage