Обсуждение: pgsql: doc: adjust UPDATE/DELETE's FROM/USING to match SELECT's FROM
doc: adjust UPDATE/DELETE's FROM/USING to match SELECT's FROM Previously the syntax and wording were unclear. Reported-by: Alexey Bashtanov Discussion: https://postgr.es/m/968d4724-8e58-788f-7c45-f7b1813824cc@imap.cc Backpatch-through: 9.5 Branch ------ REL_10_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/b8c651b75b2133d843b4fbbd52254b55792339cd Modified Files -------------- doc/src/sgml/ref/delete.sgml | 20 ++++++++++---------- doc/src/sgml/ref/update.sgml | 22 +++++++++++----------- 2 files changed, 21 insertions(+), 21 deletions(-)
On 2020-03-31 22:31, Bruce Momjian wrote: > doc: adjust UPDATE/DELETE's FROM/USING to match SELECT's FROM > > Previously the syntax and wording were unclear. @@ -23,7 +23,7 @@ PostgreSQL documentation <synopsis> [ WITH [ RECURSIVE ] <replaceable class="parameter">with_query</replaceable> [, ...] ] DELETE FROM [ ONLY ] <replaceable class="PARAMETER">table_name</replaceable> [ * ] [ [ AS ] <replaceable class="parameter">alias</replaceable> ] - [ USING <replaceable class="PARAMETER">using_list</replaceable> ] + [ USING <replaceable class="parameter">from_item</replaceable> [, ...] ] [ WHERE <replaceable class="PARAMETER">condition</replaceable> | WHERE CURRENT OF <replaceable class="PARAMETER">cursor_name</replaceable> ] [ RETURNING * | <replaceable class="parameter">output_expression</replaceable> [ [ AS ] <replaceable class="parameter">output_name</replaceable> ] [, ...] ] </synopsis> This change doesn't make sense. It is clearly a "using list" in the case of DELETE. Trying to unify it with UPDATE is wrong because the syntax is in fact different. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
On Thu, Apr 2, 2020 at 07:32:49AM +0200, Peter Eisentraut wrote: > On 2020-03-31 22:31, Bruce Momjian wrote: > > doc: adjust UPDATE/DELETE's FROM/USING to match SELECT's FROM > > > > Previously the syntax and wording were unclear. > > @@ -23,7 +23,7 @@ PostgreSQL documentation > <synopsis> > [ WITH [ RECURSIVE ] <replaceable > class="parameter">with_query</replaceable> [, ...] ] > DELETE FROM [ ONLY ] <replaceable > class="PARAMETER">table_name</replaceable> [ * ] [ [ AS ] <replaceable > class="parameter">alias</replaceable> ] > - [ USING <replaceable class="PARAMETER">using_list</replaceable> ] > + [ USING <replaceable class="parameter">from_item</replaceable> [, ...] > ] > [ WHERE <replaceable class="PARAMETER">condition</replaceable> | WHERE > CURRENT OF <replaceable class="PARAMETER">cursor_name</replaceable> ] > [ RETURNING * | <replaceable > class="parameter">output_expression</replaceable> [ [ AS ] <replaceable > class="parameter">output_name</replaceable> ] [, ...] ] > </synopsis> > > This change doesn't make sense. It is clearly a "using list" in the case of > DELETE. Trying to unify it with UPDATE is wrong because the syntax is in > fact different. This message from Tom requested the use of "from_list": https://www.postgresql.org/message-id/7354.1584500334%40sss.pgh.pa.us I think that the DELETE synopsis should look like [ USING <replaceable class="parameter">from_item</replaceable> [, ...] ] so that there's not any question which part of the SELECT syntax we're talking about. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EnterpriseDB https://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription +