pgsql: Allow index_create to suppress index_build progress reporting - Mailing list pgsql-committers

From Álvaro Herrera
Subject pgsql: Allow index_create to suppress index_build progress reporting
Date
Msg-id E1w9LkT-0034QA-26@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Allow index_create to suppress index_build progress reporting

A future REPACK patch wants a way to suppress index_build doing its
progress reports when building an index, because that would interfere
with repack's own reporting; so add an INDEX_CREATE_SUPPRESS_PROGRESS
bit that enables this.

Furthermore, change the index_create_copy() API so that it takes flag
bits for index_create() and passes them unchanged.  This gives its
callers more direct control, which eases the interface -- now its
callers can pass the INDEX_CREATE_SUPPRESS_PROGRESS bit directly.  We
use it for the current caller in REINDEX CONCURRENTLY, since it's also
not interested in progress reporting, since it doesn't want
index_build() to be called at all in the first place.

One thing to keep in mind, pointed out by Mihail, is that we're not
suppressing the index-AM-specific progress report updates which happen
during ambuild().  At present this is not a problem, because the values
updated by those don't overlap with those used by commands other than
CREATE INDEX; but maybe in the future we'll want the ability to suppress
them also.  (Alternatively we might want to display how each
index-build-subcommand progresses during REPACK and others.)

Author: Antonin Houska <ah@cybertec.at>
Author: Álvaro Herrera <alvherre@kurilemu.de>
Reviewed-by: Mihail Nikalayeu <mihailnikalayeu@gmail.com>
Discussion: https://postgr.es/m/102906.1773668762@localhost

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/caec9d9fadf1b04741ac554470c46bc1f8e89d19

Modified Files
--------------
src/backend/bootstrap/bootstrap.c |  2 +-
src/backend/catalog/heap.c        |  3 ++-
src/backend/catalog/index.c       | 27 ++++++++++++++++-----------
src/backend/commands/indexcmds.c  |  4 +++-
src/include/catalog/index.h       |  6 ++++--
5 files changed, 26 insertions(+), 16 deletions(-)


pgsql-committers by date:

Previous
From: Etsuro Fujita
Date:
Subject: pgsql: postgres_fdw: Inherit the local transaction's access/deferrable
Next
From: Andrew Dunstan
Date:
Subject: pgsql: Add pg_get_database_ddl() function