On Fri, Jul 22, 2022 at 11:54:27PM -0400, Tom Lane wrote:
> That does not seem like an improvement. In v15:
>
> regression=# REINDEX SYSTEM CONCURRENTLY db;
> ERROR: cannot reindex system catalogs concurrently
>
> As of HEAD:
>
> regression=# REINDEX SYSTEM CONCURRENTLY db;
> ERROR: syntax error at or near "CONCURRENTLY"
> LINE 1: REINDEX SYSTEM CONCURRENTLY db;
> ^
>
> That is not a very helpful error, not even if the man page
> doesn't show the syntax as legal.
As the problem comes down to the fact that INDEX/TABLE, SCHEMA and
DATABASE/SYSTEM need to handle names for different object types each,
I think that we could do something like the attached, removing one
block on the way at the cost of an extra parser node.
By the way, it seems that 83011ce also broke the case of "REINDEX
DATABASE CONCURRENTLY", where the parser missed the addition of a
DefElem for "concurrently" in this case.
--
Michael