Re: Incorrect Syntax in Function Syntax diagram - Mailing list pgsql-docs

From David G. Johnston
Subject Re: Incorrect Syntax in Function Syntax diagram
Date
Msg-id CAKFQuwaGV+47J9yqoi16Ke7jkzKALO1V=VXrjMPwhMe9tL580w@mail.gmail.com
Whole thread Raw
In response to Incorrect Syntax in Function Syntax diagram  (PG Doc comments form <noreply@postgresql.org>)
Responses Re: Incorrect Syntax in Function Syntax diagram  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-docs
On Wed, Jun 23, 2021 at 6:31 AM PG Doc comments form <noreply@postgresql.org> wrote:
The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/13/sql-createfunction.html
Description:

| IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF

[ NOT ] LEAKPROOF  is accepting separately ,
So why you written [ NOT ] LEAKPROOF with | IMMUTABLE | STABLE | VOLATILE |


The commit message doesn't say - but I can see how from a technical perspective that the claim that something is immutable is considered similar to a claim that something has no side effects, thus there is a connection.  As noted below, the fact that the first three are mutually exclusive while leakproof is not is convincing enough a reason to list leakproof separately.

Please separate the [ NOT ] LEAKPROOF from the OR list

I would agree, and would add that I wonder whether the syntax for the three mutually exclusive options should be shown as such instead of having to read that in the description notes.  Does writing < | { IMMUTABLE | STABLE | VOLATILE } > work?

Note: Your documentation must be correct

Is that so? It is a good thing then that it is presently correct and that this is just a readability suggestion.  The presence of them all on the same line does not by itself imply any kind of relationship in the actual grammar.

David J.

pgsql-docs by date:

Previous
From: PG Doc comments form
Date:
Subject: Incorrect Syntax in Function Syntax diagram
Next
From: Tom Lane
Date:
Subject: Re: Incorrect Syntax in Function Syntax diagram