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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy