Skip to content

Commit 97c31cd

Browse files
committed
introduce drop_range_triggers() function
1 parent 421b2ed commit 97c31cd

File tree

3 files changed

+23
-46
lines changed

3 files changed

+23
-46
lines changed

hash.sql

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ BEGIN
8383
v_relname := @extschema@.validate_relname(relation);
8484

8585
/* Drop trigger first */
86-
PERFORM @extschema@.drop_hash_triggers(relation);
86+
PERFORM @extschema@.drop_triggers(relation);
8787
DELETE FROM @extschema@.pathman_config WHERE relname::regclass = relation;
8888

8989
FOR v_rec in (SELECT inhrelid::regclass::text AS tbl
@@ -108,27 +108,6 @@ BEGIN
108108
END
109109
$$ LANGUAGE plpgsql;
110110

111-
/*
112-
* Drops hash trigger
113-
*/
114-
CREATE OR REPLACE FUNCTION @extschema@.drop_hash_triggers(IN relation REGCLASS)
115-
RETURNS VOID AS
116-
$$
117-
DECLARE
118-
relname TEXT;
119-
schema TEXT;
120-
funcname TEXT;
121-
BEGIN
122-
SELECT * INTO schema, relname
123-
FROM @extschema@.get_plain_schema_and_relname(relation);
124-
125-
funcname := schema || '.' || quote_ident(format('%s_insert_trigger_func', relname));
126-
EXECUTE format('DROP FUNCTION IF EXISTS %s() CASCADE', funcname);
127-
funcname := schema || '.' || quote_ident(format('%s_update_trigger_func', relname));
128-
EXECUTE format('DROP FUNCTION IF EXISTS %s() CASCADE', funcname);
129-
END
130-
$$ LANGUAGE plpgsql;
131-
132111
/*
133112
* Creates an update trigger
134113
*/

init.sql

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,9 @@ BEGIN
127127

128128
DELETE FROM @extschema@.pathman_config WHERE relname = relation;
129129
IF parttype = 1 THEN
130-
PERFORM @extschema@.drop_hash_triggers(relation);
130+
PERFORM @extschema@.drop_triggers(relation);
131131
ELSIF parttype = 2 THEN
132-
PERFORM @extschema@.drop_range_triggers(relation);
132+
PERFORM @extschema@.drop_triggers(relation);
133133
END IF;
134134

135135
/* Notify backend about changes */
@@ -340,3 +340,22 @@ RETURNS VOID AS 'pg_pathman', 'acquire_partitions_lock' LANGUAGE C STRICT;
340340
*/
341341
CREATE OR REPLACE FUNCTION @extschema@.release_partitions_lock()
342342
RETURNS VOID AS 'pg_pathman', 'release_partitions_lock' LANGUAGE C STRICT;
343+
344+
/*
345+
* Drop trigger
346+
*/
347+
CREATE OR REPLACE FUNCTION @extschema@.drop_triggers(IN relation REGCLASS)
348+
RETURNS VOID AS
349+
$$
350+
DECLARE
351+
relname TEXT;
352+
schema TEXT;
353+
funcname TEXT;
354+
BEGIN
355+
SELECT * INTO schema, relname
356+
FROM @extschema@.get_plain_schema_and_relname(relation);
357+
358+
funcname := schema || '.' || quote_ident(format('%s_update_trigger_func', relname));
359+
EXECUTE format('DROP FUNCTION IF EXISTS %s() CASCADE', funcname);
360+
END
361+
$$ LANGUAGE plpgsql;

range.sql

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1094,7 +1094,7 @@ BEGIN
10941094
v_relname := @extschema@.validate_relname(relation);
10951095

10961096
/* Drop trigger first */
1097-
PERFORM @extschema@.drop_range_triggers(relation);
1097+
PERFORM @extschema@.drop_triggers(relation);
10981098

10991099
FOR v_rec IN (SELECT inhrelid::regclass::text AS tbl
11001100
FROM pg_inherits WHERE inhparent::regclass = relation)
@@ -1120,27 +1120,6 @@ BEGIN
11201120
END
11211121
$$ LANGUAGE plpgsql;
11221122

1123-
1124-
/*
1125-
* Drop trigger
1126-
*/
1127-
CREATE OR REPLACE FUNCTION @extschema@.drop_range_triggers(IN relation REGCLASS)
1128-
RETURNS VOID AS
1129-
$$
1130-
DECLARE
1131-
schema TEXT;
1132-
relname TEXT;
1133-
BEGIN
1134-
SELECT * INTO schema, relname
1135-
FROM @extschema@.get_plain_schema_and_relname(relation);
1136-
1137-
--EXECUTE format('DROP TRIGGER IF EXISTS %s ON %s CASCADE'
1138-
-- , format('"%s_%s_insert_trigger"', schema, relname)
1139-
-- , relation::TEXT);
1140-
END
1141-
$$ LANGUAGE plpgsql;
1142-
1143-
11441123
/*
11451124
* Internal function used to create new partitions on insert or update trigger.
11461125
* Invoked from C-function find_or_create_range_partition().

0 commit comments

Comments
 (0)