Doc: in back branches, don't call it a row constructor if it isn't really.

Before commit 906bfcad7, we were not actually processing the righthand
side of a multiple-column assignment in UPDATE as a row constructor:
it was just a parenthesized list of expressions.  Call it that rather
than risking confusion by people who would expect the documented behaviors
of row constructors to apply.

Back-patch to 9.5; before that, the text correctly described the construct
as a "list of independent expressions".

Discussion: <16288.1479610770@sss.pgh.pa.us>
This commit is contained in:
Tom Lane 2016-11-22 18:07:43 -05:00
parent ff9730aa15
commit 3de257f602

View File

@ -422,9 +422,9 @@ UPDATE films SET kind = 'Dramatic' WHERE CURRENT OF c_films;
According to the standard, the source value for a parenthesized sub-list of
column names can be any row-valued expression yielding the correct number
of columns. <productname>PostgreSQL</productname> only allows the source
value to be a parenthesized list of expressions (a row constructor) or a
value to be a parenthesized list of expressions or a
sub-<literal>SELECT</>. An individual column's updated value can be
specified as <literal>DEFAULT</> in the row-constructor case, but not
specified as <literal>DEFAULT</> in the list-of-expressions case, but not
inside a sub-<literal>SELECT</>.
</para>
</refsect1>