On Thursday, July 25, 2024, PG Doc comments form <nore...@postgresql.org> wrote:
> The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/16/sql-insert.html > Description: > > The grammar > [ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] > seems wrong to me. I appears to say it could be either > RETURNING * > or > output_expression [ [ AS ] output_name ] [, ...] > > but I believe the RETURNING is always required. > Yes, the word returning makes it the returning clause. This should be written: [ Returning { * | output_expression [ [ AS ] output_name ] } [, …] ] Here and on the update and delete pages. Related, select says: [ * | expression [ [ AS ] output_name ] [, …] ] Shouldn’t this also be: [ { * | expression [ [ AS ] output_name ] } [, …] ] I know we do tend to let the reader infer exactly what the [, …] part refers to but in this case it seems reasonably ambiguous. I just think most everyone learns how * works separately so it rarely comes up since no one reads the syntax for it. David J.