0001-Remove-failed-REINDEX-index-oid-from-the-pending-lis.patch

application/octet-stream

Filename: 0001-Remove-failed-REINDEX-index-oid-from-the-pending-lis.patch
Type: application/octet-stream
Part: 0
Message: Re: BUG #18630: Incorrect memory access inside ReindexIsProcessingIndex() on VACUUM

Patch

Format: format-patch
Series: patch 0001
Subject: Remove failed REINDEX index oid from the pending list.
File+
src/backend/catalog/index.c 2 5
From c09e0e08f372595ea8016ca09c11a2ee19952c0d Mon Sep 17 00:00:00 2001
From: Tender Wang <tndrwang@gmail.com>
Date: Wed, 25 Sep 2024 17:19:33 +0800
Subject: [PATCH] Remove failed REINDEX index oid from the pending list.

---
 src/backend/catalog/index.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
index b2b3ecb524..f149de9225 100644
--- a/src/backend/catalog/index.c
+++ b/src/backend/catalog/index.c
@@ -4002,11 +4002,8 @@ reindex_relation(const ReindexStmt *stmt, Oid relid, int flags,
 		if (IsToastNamespace(indexNamespaceId) &&
 			!get_index_isvalid(indexOid))
 		{
-			ereport(WARNING,
-					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
-					 errmsg("cannot reindex invalid index \"%s.%s\" on TOAST table, skipping",
-							get_namespace_name(indexNamespaceId),
-							get_rel_name(indexOid))));
+			/* Remove the failed REINDEX index from the pending list */
+			RemoveReindexPending(indexOid);
 			continue;
 		}
 
-- 
2.25.1