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:
signature.asc
Description: PGP signature