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 <[email protected]> Author: Álvaro Herrera <[email protected]> Reviewed-by: Mihail Nikalayeu <[email protected]> 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(-)
