From 4e24bff3b895d94bece952625426c4db11528201 Mon Sep 17 00:00:00 2001
From: Dharin Shah <8616130+Dharin-shah@users.noreply.github.com>
Date: Fri, 2 Jan 2026 13:37:08 +0100
Subject: [PATCH] tests: Add functionality verification for renamed index in
 alter_table

---
 src/test/regress/expected/alter_table.out | 22 +++++++++++++++++++++-
 src/test/regress/sql/alter_table.sql      | 12 +++++++++++-
 2 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out
index 5e98bbf2425..0d54ac80735 100644
--- a/src/test/regress/expected/alter_table.out
+++ b/src/test/regress/expected/alter_table.out
@@ -221,13 +221,33 @@ SELECT typname FROM pg_type WHERE oid = '_attmp_array[]'::regtype;
 
 DROP TABLE _attmp_array;
 -- ALTER TABLE ... RENAME on non-table relations
--- renaming indexes (FIXME: this should probably test the index's functionality)
+-- renaming indexes
 ALTER INDEX IF EXISTS __onek_unique1 RENAME TO attmp_onek_unique1;
 NOTICE:  relation "__onek_unique1" does not exist, skipping
 ALTER INDEX IF EXISTS __attmp_onek_unique1 RENAME TO onek_unique1;
 NOTICE:  relation "__attmp_onek_unique1" does not exist, skipping
 ALTER INDEX onek_unique1 RENAME TO attmp_onek_unique1;
 ALTER INDEX attmp_onek_unique1 RENAME TO onek_unique1;
+-- verify the renamed index is usable
+set enable_seqscan to off;
+set enable_bitmapscan to off;
+set enable_indexonlyscan to off;
+EXPLAIN (COSTS OFF) SELECT 1 FROM onek WHERE unique1 = 1;
+              QUERY PLAN               
+---------------------------------------
+ Index Scan using onek_unique1 on onek
+   Index Cond: (unique1 = 1)
+(2 rows)
+
+SELECT unique1 FROM onek WHERE unique1 = 1;
+ unique1 
+---------
+       1
+(1 row)
+
+reset enable_seqscan;
+reset enable_bitmapscan;
+reset enable_indexonlyscan;
 SET ROLE regress_alter_table_user1;
 ALTER INDEX onek_unique1 RENAME TO fail;  -- permission denied
 ERROR:  must be owner of index onek_unique1
diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql
index 417202430a5..86226b28a4a 100644
--- a/src/test/regress/sql/alter_table.sql
+++ b/src/test/regress/sql/alter_table.sql
@@ -216,13 +216,23 @@ SELECT typname FROM pg_type WHERE oid = '_attmp_array[]'::regtype;
 DROP TABLE _attmp_array;
 
 -- ALTER TABLE ... RENAME on non-table relations
--- renaming indexes (FIXME: this should probably test the index's functionality)
+-- renaming indexes
 ALTER INDEX IF EXISTS __onek_unique1 RENAME TO attmp_onek_unique1;
 ALTER INDEX IF EXISTS __attmp_onek_unique1 RENAME TO onek_unique1;
 
 ALTER INDEX onek_unique1 RENAME TO attmp_onek_unique1;
 ALTER INDEX attmp_onek_unique1 RENAME TO onek_unique1;
 
+-- verify the renamed index is usable
+set enable_seqscan to off;
+set enable_bitmapscan to off;
+set enable_indexonlyscan to off;
+EXPLAIN (COSTS OFF) SELECT 1 FROM onek WHERE unique1 = 1;
+SELECT unique1 FROM onek WHERE unique1 = 1;
+reset enable_seqscan;
+reset enable_bitmapscan;
+reset enable_indexonlyscan;
+
 SET ROLE regress_alter_table_user1;
 ALTER INDEX onek_unique1 RENAME TO fail;  -- permission denied
 RESET ROLE;
-- 
2.39.3 (Apple Git-146)

