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)