Re: Keyword docs missing, or mislabelled keywords - Mailing list pgsql-docs

From David G. Johnston
Subject Re: Keyword docs missing, or mislabelled keywords
Date
Msg-id CAKFQuwZFTmBoGzCHF7b_iorWcZKqoU0k_MtaTLz9XD6hm6Z6YQ@mail.gmail.com
Whole thread Raw
In response to Keyword docs missing, or mislabelled keywords  (PG Doc comments form <noreply@postgresql.org>)
Responses Re: Keyword docs missing, or mislabelled keywords  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-docs
On Thu, Sep 2, 2021 at 7:11 AM PG Doc comments form <noreply@postgresql.org> wrote:

https://www.postgresql.org/docs/13/sql-keywords-appendix.html

Missing:

RESTRICTED (as found in CREATE FUNCTION (PARALLEL RESTRICTED))
SAFE (as found in CREATE FUNCTION (PARALLEL SAFE))
UNSAFE (as found in CREATE FUNCTION (PARALLEL UNSAFE))

I'll agree that the documentation for this doesn't fully describe the intricacies of the implementation, but the listing, at least for the PARALLEL related options, is correct.  Basically, our parser denotes PARALLEL as being an unreserved keyword, and because of this is able to identify the specific usage of PARALLEL {something} in CREATE FUNCTION and simply take "the next token" as a simple label (ColId) that gets passed along to the executor as state data.  Those labels thus do not need to be identified formally as keywords and thus are omitted from the table.

Per the cross-referenced 4.1 lead-in paragraph [1]:

"A token can be a key word, an identifier, a quoted identifier, a literal (or constant), or a special character symbol."

In terms of the above, RESTRICTED, SAFE, and UNSAFE are all "identifiers" [2].

We don't formally distinguish between "catalog recorded" identifiers and "simple label" identifiers - the perspective of the parser is that neither subclass has the limitations of a full keyword and neither requires any special knowledge or handling by the parser - the text can simply be passed along and the executor can be programmed to know which ones are which.

David J.



pgsql-docs by date:

Previous
From: PG Doc comments form
Date:
Subject: Keyword docs missing, or mislabelled keywords
Next
From: Tom Lane
Date:
Subject: Re: Keyword docs missing, or mislabelled keywords