On Tue, Sep 01, 2020 at 11:40:18AM -0400, Alvaro Herrera wrote: > On 2020-Aug-11, Justin Pryzby wrote: > > On Tue, Aug 11, 2020 at 02:39:45PM +0900, Michael Paquier wrote: > > > > The grammar that has been committed was the one that for the most > > > support, so we need to live with that. I wonder if we should simplify > > > ReindexStmt and move the "concurrent" flag to be under "options", but > > > that may not be worth the time spent on as long as we don't have > > > CONCURRENTLY part of the parenthesized grammar. > > > > I think it's kind of a good idea, since the next patch does exactly that > > (parenthesize (CONCURRENTLY)). > > > > I included that as a new 0002, but it doesn't save anything though, so maybe > > it's not a win. > > The advantage of using a parenthesized option list is that you can add > *further* options without making the new keywords reserved. Of course, > we already reserve CONCURRENTLY and VERBOSE pretty severely, so there's > no change. If you wanted REINDEX FLUFFY then it wouldn't work without > making that at least type_func_name_keyword I think; but REINDEX > (FLUFFY) would work just fine. And of course the new feature at hand > can be implemented.
The question isn't whether to use a parenthesized option list. I realized that long ago (even though Alexey didn't initially like it). Check 0002, which gets rid of "bool concurrent" in favour of stmt->options&REINDEXOPT_CONCURRENT. -- Justin