Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbf25102

Browse files
committed
refactoring, add test for drop_triggers()
1 parent0ae222a commitbf25102

File tree

3 files changed

+74
-10
lines changed

3 files changed

+74
-10
lines changed

‎expected/pathman_calamity.out

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -777,6 +777,52 @@ SELECT merge_range_partitions('{calamity.merge_test_a_1,
777777
ERROR: cannot merge partitions
778778
DROP TABLE calamity.merge_test_a,calamity.merge_test_b CASCADE;
779779
NOTICE: drop cascades to 4 other objects
780+
/* check function drop_triggers() */
781+
CREATE TABLE calamity.trig_test_tbl(val INT4 NOT NULL);
782+
SELECT create_hash_partitions('calamity.trig_test_tbl', 'val', 2);
783+
create_hash_partitions
784+
------------------------
785+
2
786+
(1 row)
787+
788+
SELECT create_update_triggers('calamity.trig_test_tbl');
789+
create_update_triggers
790+
------------------------
791+
792+
(1 row)
793+
794+
SELECT count(*) FROM pg_trigger WHERE tgrelid = 'calamity.trig_test_tbl'::REGCLASS;
795+
count
796+
-------
797+
1
798+
(1 row)
799+
800+
SELECT count(*) FROM pg_trigger WHERE tgrelid = 'calamity.trig_test_tbl_1'::REGCLASS;
801+
count
802+
-------
803+
1
804+
(1 row)
805+
806+
SELECT drop_triggers('calamity.trig_test_tbl');/* OK */
807+
drop_triggers
808+
---------------
809+
810+
(1 row)
811+
812+
SELECT count(*) FROM pg_trigger WHERE tgrelid = 'calamity.trig_test_tbl'::REGCLASS;
813+
count
814+
-------
815+
0
816+
(1 row)
817+
818+
SELECT count(*) FROM pg_trigger WHERE tgrelid = 'calamity.trig_test_tbl_1'::REGCLASS;
819+
count
820+
-------
821+
0
822+
(1 row)
823+
824+
DROP TABLE calamity.trig_test_tbl CASCADE;
825+
NOTICE: drop cascades to 2 other objects
780826
DROP SCHEMA calamity CASCADE;
781827
NOTICE: drop cascades to 20 other objects
782828
DROP EXTENSION pg_pathman;

‎init.sql

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ CREATE OR REPLACE FUNCTION @extschema@.prepare_for_partitioning(
447447
RETURNS VOIDAS
448448
$$
449449
DECLARE
450-
constr_nameTEXT;
450+
constr_nameTEXT;
451451
is_referencedBOOLEAN;
452452
rel_persistenceCHAR;
453453

@@ -516,9 +516,10 @@ CREATE OR REPLACE FUNCTION @extschema@.pathman_ddl_trigger_func()
516516
RETURNS event_triggerAS
517517
$$
518518
DECLARE
519-
objrecord;
520-
pg_class_oidoid;
521-
relidsregclass[];
519+
objRECORD;
520+
pg_class_oidOID;
521+
relidsREGCLASS[];
522+
522523
BEGIN
523524
pg_class_oid='pg_catalog.pg_class'::regclass;
524525

@@ -545,20 +546,21 @@ CREATE OR REPLACE FUNCTION @extschema@.drop_triggers(
545546
RETURNS VOIDAS
546547
$$
547548
DECLARE
548-
triggernameTEXT;
549-
recRECORD;
549+
triggernameTEXT;
550+
relationOID;
550551

551552
BEGIN
552553
triggername := @extschema@.build_update_trigger_name(parent_relid);
553554

554555
/* Drop trigger for each partition if exists*/
555-
FOR recIN (SELECTpg_catalog.pg_inherits.*FROMpg_catalog.pg_inherits
556-
JOINpg_catalog.pg_triggerON inhrelid= tgrelid
557-
WHERE inhparent= parent_relidAND tgname= triggername)
556+
FOR relationIN (SELECTpg_catalog.pg_inherits.inhrelid
557+
FROMpg_catalog.pg_inherits
558+
JOINpg_catalog.pg_triggerON inhrelid= tgrelid
559+
WHERE inhparent= parent_relidAND tgname= triggername)
558560
LOOP
559561
EXECUTE format('DROP TRIGGER IF EXISTS %s ON %s',
560562
triggername,
561-
rec.inhrelid::REGCLASS::TEXT);
563+
relation::REGCLASS);
562564
END LOOP;
563565

564566
/* Drop trigger on parent*/

‎sql/pathman_calamity.sql

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,22 @@ SELECT merge_range_partitions('{calamity.merge_test_a_1,
333333
DROPTABLEcalamity.merge_test_a,calamity.merge_test_b CASCADE;
334334

335335

336+
/* check function drop_triggers()*/
337+
CREATETABLEcalamity.trig_test_tbl(val INT4NOT NULL);
338+
SELECT create_hash_partitions('calamity.trig_test_tbl','val',2);
339+
SELECT create_update_triggers('calamity.trig_test_tbl');
340+
341+
SELECTcount(*)FROM pg_triggerWHERE tgrelid='calamity.trig_test_tbl'::REGCLASS;
342+
SELECTcount(*)FROM pg_triggerWHERE tgrelid='calamity.trig_test_tbl_1'::REGCLASS;
343+
344+
SELECT drop_triggers('calamity.trig_test_tbl');/* OK*/
345+
346+
SELECTcount(*)FROM pg_triggerWHERE tgrelid='calamity.trig_test_tbl'::REGCLASS;
347+
SELECTcount(*)FROM pg_triggerWHERE tgrelid='calamity.trig_test_tbl_1'::REGCLASS;
348+
349+
DROPTABLEcalamity.trig_test_tbl CASCADE;
350+
351+
336352
DROPSCHEMA calamity CASCADE;
337353
DROP EXTENSION pg_pathman;
338354

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp