From 20e1cc898da6f82b5680973c107e8a96d46caf01 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 20 Jun 2019 13:28:12 +0900 Subject: [PATCH] Rework some error strings for REINDEX CONCURRENTLY with system catalogs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This makes the whole user experience more consistent when bumping into failures, and more in line with the rewording done via 508300e. Author: Michael Paquier Reviewed-by: Álvaro Herrera Discussion: https://postgr.es/m/20190514153252.GA22168@alvherre.pgsql --- src/backend/commands/indexcmds.c | 10 ++++------ src/test/regress/expected/create_index.out | 12 ++++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index d05d2fd3d5..a3cbeff950 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -2499,7 +2499,7 @@ ReindexMultipleTables(const char *objectName, ReindexObjectType objectKind, if (objectKind == REINDEX_OBJECT_SYSTEM && concurrent) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("concurrent reindex of system catalogs is not supported"))); + errmsg("cannot reindex system catalogs concurrently"))); /* * Get OID of object to reindex, being the database currently being used @@ -2613,7 +2613,7 @@ ReindexMultipleTables(const char *objectName, ReindexObjectType objectKind, if (!concurrent_warning) ereport(WARNING, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("concurrent reindex is not supported for catalog relations, skipping all"))); + errmsg("cannot reindex system catalogs concurrently, skipping all"))); concurrent_warning = true; continue; } @@ -2764,11 +2764,10 @@ ReindexRelationConcurrently(Oid relationOid, int options) MemoryContextSwitchTo(oldcontext); - /* A system catalog cannot be reindexed concurrently */ if (IsCatalogRelationOid(relationOid)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot reindex a system catalog concurrently"))); + errmsg("cannot reindex system catalogs concurrently"))); /* Open relation to get its indexes */ heapRelation = table_open(relationOid, ShareUpdateExclusiveLock); @@ -2858,11 +2857,10 @@ ReindexRelationConcurrently(Oid relationOid, int options) { Oid heapId = IndexGetRelation(relationOid, false); - /* A system catalog cannot be reindexed concurrently */ if (IsCatalogRelationOid(heapId)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot reindex a system catalog concurrently"))); + errmsg("cannot reindex system catalogs concurrently"))); /* Save the list of relation OIDs in private context */ oldcontext = MemoryContextSwitchTo(private_context); diff --git a/src/test/regress/expected/create_index.out b/src/test/regress/expected/create_index.out index c30e6738ba..5305b53cac 100644 --- a/src/test/regress/expected/create_index.out +++ b/src/test/regress/expected/create_index.out @@ -2093,19 +2093,19 @@ REINDEX TABLE CONCURRENTLY concur_reindex_tab; ERROR: REINDEX CONCURRENTLY cannot run inside a transaction block COMMIT; REINDEX TABLE CONCURRENTLY pg_class; -- no catalog relation -ERROR: cannot reindex a system catalog concurrently +ERROR: cannot reindex system catalogs concurrently REINDEX INDEX CONCURRENTLY pg_class_oid_index; -- no catalog index -ERROR: cannot reindex a system catalog concurrently +ERROR: cannot reindex system catalogs concurrently -- These are the toast table and index of pg_authid. REINDEX TABLE CONCURRENTLY pg_toast.pg_toast_1260; -- no catalog toast table -ERROR: cannot reindex a system catalog concurrently +ERROR: cannot reindex system catalogs concurrently REINDEX INDEX CONCURRENTLY pg_toast.pg_toast_1260_index; -- no catalog toast index -ERROR: cannot reindex a system catalog concurrently +ERROR: cannot reindex system catalogs concurrently REINDEX SYSTEM CONCURRENTLY postgres; -- not allowed for SYSTEM -ERROR: concurrent reindex of system catalogs is not supported +ERROR: cannot reindex system catalogs concurrently -- Warns about catalog relations REINDEX SCHEMA CONCURRENTLY pg_catalog; -WARNING: concurrent reindex is not supported for catalog relations, skipping all +WARNING: cannot reindex system catalogs concurrently, skipping all -- Check the relation status, there should not be invalid indexes \d concur_reindex_tab Table "public.concur_reindex_tab" -- 2.40.0