Add tests to make sure distributed clone trigger rename fails in PG15 (#6291)

Relevant PG commit:
80ba4bb383538a2ee846fece6a7b8da9518b6866
pull/6290/head
Naisila Puka 2022-09-06 11:04:14 +03:00 committed by GitHub
parent e6b1845931
commit fd9b3f4ae9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 29 additions and 0 deletions

View File

@ -168,6 +168,10 @@ SELECT * FROM sale_triggers ORDER BY 1, 2;
truncate_trigger_xxxxxxx | sale_newyork | O
(6 rows)
-- test that we can't rename a distributed clone trigger
ALTER TRIGGER "new_record_sale_trigger" ON "pg15"."sale_newyork" RENAME TO "another_trigger_name";
ERROR: cannot rename trigger "new_record_sale_trigger" on table "sale_newyork"
HINT: Rename trigger on partitioned table "sale" instead.
--
-- In PG15, For GENERATED columns, all dependencies of the generation
-- expression are recorded as NORMAL dependencies of the column itself.

View File

@ -218,6 +218,23 @@ SELECT * FROM sale_triggers ORDER BY 1, 2;
truncate_trigger_xxxxxxx | sale_alabama | O
(12 rows)
-- after upgrade to PG15, test that we can't rename a distributed clone trigger
ALTER TRIGGER "renamed_yet_another_trigger" ON "sale_alabama" RENAME TO "another_trigger_name";
ERROR: cannot rename trigger "renamed_yet_another_trigger" on table "sale_alabama"
HINT: Rename trigger on partitioned table "sale" instead.
SELECT count(*) FROM pg_trigger WHERE tgname like 'another_trigger_name%';
count
---------------------------------------------------------------------
0
(1 row)
SELECT run_command_on_workers($$SELECT count(*) FROM pg_trigger WHERE tgname like 'another_trigger_name%';$$);
run_command_on_workers
---------------------------------------------------------------------
(localhost,10201,t,0)
(localhost,10202,t,0)
(2 rows)
DROP SCHEMA upgrade_distributed_triggers CASCADE;
NOTICE: drop cascades to 4 other objects
DETAIL: drop cascades to function record_sale()

View File

@ -114,6 +114,9 @@ SELECT * FROM sale_triggers ORDER BY 1, 2;
ALTER TRIGGER "record_sale_trigger" ON "pg15"."sale" RENAME TO "new_record_sale_trigger";
SELECT * FROM sale_triggers ORDER BY 1, 2;
-- test that we can't rename a distributed clone trigger
ALTER TRIGGER "new_record_sale_trigger" ON "pg15"."sale_newyork" RENAME TO "another_trigger_name";
--
-- In PG15, For GENERATED columns, all dependencies of the generation
-- expression are recorded as NORMAL dependencies of the column itself.

View File

@ -69,4 +69,9 @@ ALTER TRIGGER "yet_another_trigger" ON "sale" RENAME TO "renamed_yet_another_tri
SELECT * FROM sale_triggers ORDER BY 1, 2;
-- after upgrade to PG15, test that we can't rename a distributed clone trigger
ALTER TRIGGER "renamed_yet_another_trigger" ON "sale_alabama" RENAME TO "another_trigger_name";
SELECT count(*) FROM pg_trigger WHERE tgname like 'another_trigger_name%';
SELECT run_command_on_workers($$SELECT count(*) FROM pg_trigger WHERE tgname like 'another_trigger_name%';$$);
DROP SCHEMA upgrade_distributed_triggers CASCADE;