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 +