From 86182b18957b8f9e8045d55b137aeef7c9af9916 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 30 Oct 2017 16:44:26 -0400 Subject: [PATCH] Doc: call out UPDATE syntax change as a v10 compatibility issue. The change made by commit 906bfcad7 means that if you're writing a parenthesized column list in UPDATE ... SET, but that column list is only one column, you now need to write ROW(expression) on the righthand side, not just a parenthesized expression. This was an intentional change for spec compatibility and potential future expansion of the possibilities for the RHS, but I'd neglected to document it as a compatibility issue, figuring that hardly anyone would bother with parenthesized syntax for a single target column. I was wrong, as shown by questions from Justin Pryzby, Adam Brusselback, and others. Move the release note item into the compatibility section and point out the behavior change for a single target column. Discussion: https://postgr.es/m/CAMjNa7cDLzPcs0xnRpkvqmJ6Vb6G3EH8CYGp9ZBjXdpFfTz6dg@mail.gmail.com --- doc/src/sgml/release-10.sgml | 46 ++++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/doc/src/sgml/release-10.sgml b/doc/src/sgml/release-10.sgml index d37f700055..906b3814f7 100644 --- a/doc/src/sgml/release-10.sgml +++ b/doc/src/sgml/release-10.sgml @@ -157,6 +157,32 @@ + + Use standard row constructor syntax in UPDATE ... SET + (column_list) = row_constructor + (Tom Lane) + + + + The row_constructor can now begin with the + keyword ROW; previously that had to be omitted. + If just one column name appears in + the column_list, then + the row_constructor now must use + the ROW keyword, since otherwise it is not a valid + row constructor but just a parenthesized expression. + Also, an occurrence + of table_name.* within + the row_constructor is now expanded into + multiple columns, as occurs in other uses + of row_constructors. + + + + + @@ -1538,26 +1564,6 @@ - - Allow standard row constructor syntax in UPDATE ... SET - (column_list) = row_constructor - (Tom Lane) - - - - The row_constructor can now begin with the - keyword ROW; previously that had to be omitted. Also, - an occurrence of table_name.* - within the row_constructor is now expanded into - multiple columns, as in other uses - of row_constructors. - - - - -