Re: REINDEX VERBOSE iso-8859-1 option - Mailing list pgsql-general

From Michael Paquier
Subject Re: REINDEX VERBOSE iso-8859-1 option
Date
Msg-id 20191118114608.GE1543@paquier.xyz
Whole thread Raw
In response to Re: REINDEX VERBOSE iso-8859-1 option  (Josef Šimánek <josef.simanek@gmail.com>)
Responses Re: REINDEX VERBOSE iso-8859-1 option  (Geoff Winkless <pgsqladmin@geoff.dj>)
List pgsql-general
On Mon, Nov 18, 2019 at 10:27:24AM +0100, Josef Šimánek wrote:
> This is clear once you understand what does it mean. I was aware of VERBOSE
> option of EXPLAIN and tried to use it without needed parentheses (the same
> way EXPLAIN can understand it). In the parameter list of REINDEX, it is
> still called VERBOSE (not "( VERBOSE )") and there's no info
> that parentheses are needed.

What would you do in the documentation once there is support for more
than one option then?

The grammar is done this way to remain extensible.  If you look at any
command in the documentation, there are two things to be aware of:
1) Clauses within square brackets are optional.
2) Multiple clauses within braces and separated by '|' mean that at
least one is mandatory.

Parenthesis do not matter here.  They are part of the query syntax.

> PS: AFAIK VERBOSE is option for EXPLAIN, but parameter for REINDEX. Is that
> the reason for different syntax?

Mainly historical reasons.  REINDEX VERBOSE has been added in 9.5.
EXPLAIN VERBOSE is around since at least 7.1.  Using options within
parenthesis is preferred lately because it is much easier to make the
grammar more extensible for future purposes and it eases the option
parsing.
--
Michael

Attachment

pgsql-general by date:

Previous
From: Laurenz Albe
Date:
Subject: Re: porting horde to Postgresql 12, dropped pg_attrdef
Next
From: Michael Paquier
Date:
Subject: Re: Authentication: MD5 to SCRAM-SHA-256 error