On Wed, Sep 09, 2020 at 09:22:00PM +0900, Michael Paquier wrote: > On Tue, Sep 08, 2020 at 07:17:58PM -0500, Justin Pryzby wrote: > > Initially I added List *params, and Michael suggested to retire > > ReindexStmt->concurrent. I provided a patch to do so, initially by leaving > > int > > options and then, after this, removing it to "complete the thought", and get > > rid of the remnants of the "old way" of doing it. This is also how vacuum > > and > > explain are done. > > https://www.postgresql.org/message-id/20200902022410.GA20149%40telsasoft.com > > Defining a set of DefElem when parsing and then using the int > "options" with bitmasks where necessary at the beginning of the > execution looks like a good balance to me. This way, you can extend > the grammar to use things like (verbose = true), etc.
It doesn't need to be extended - defGetBoolean already handles that. I don't see what good can come from storing the information in two places in the same structure. |postgres=# CLUSTER (VERBOSE on) pg_attribute USING pg_attribute_relid_attnum_index ; |INFO: clustering "pg_catalog.pg_attribute" using index scan on "pg_attribute_relid_attnum_index" |INFO: "pg_attribute": found 0 removable, 2968 nonremovable row versions in 55 pages |DETAIL: 0 dead row versions cannot be removed yet. |CPU: user: 0.01 s, system: 0.00 s, elapsed: 0.01 s. |CLUSTER -- Justin