Skip to content

Commit

Permalink
Move trigger functions to _timescaledb_functions schema
Browse files Browse the repository at this point in the history
To increase schema security we do not want to mix our own internal
objects with user objects. Since chunks are created in the
_timescaledb_internal schema our internal functions should live in
a different dedicated schema. This patch make the necessary
adjustments for our trigger functions.
  • Loading branch information
svenklemm committed Aug 21, 2023
1 parent 2080c3c commit 56ea8b4
Show file tree
Hide file tree
Showing 27 changed files with 132 additions and 111 deletions.
1 change: 1 addition & 0 deletions .unreleased/bugfix_5562
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Fixes: #5562 Move trigger functions to _timescaledb_functions schema
2 changes: 1 addition & 1 deletion sql/cagg_utils.sql
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ CREATE OR REPLACE FUNCTION _timescaledb_internal.materialization_invalidation_lo
) RETURNS VOID AS '@MODULE_PATHNAME@', 'ts_materialization_invalidation_log_delete' LANGUAGE C STRICT VOLATILE;

-- raw_hypertable_id - The hypertable ID of the original distributed hypertable in the Access Node
CREATE OR REPLACE FUNCTION _timescaledb_internal.drop_dist_ht_invalidation_trigger(
CREATE OR REPLACE FUNCTION _timescaledb_functions.drop_dist_ht_invalidation_trigger(
raw_hypertable_id INTEGER
) RETURNS VOID AS '@MODULE_PATHNAME@', 'ts_drop_dist_ht_invalidation_trigger' LANGUAGE C STRICT VOLATILE;

Expand Down
4 changes: 2 additions & 2 deletions sql/hypertable.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
-- LICENSE-APACHE for a copy of the license.

-- Trigger that blocks INSERTs on the hypertable's root table
CREATE OR REPLACE FUNCTION _timescaledb_internal.insert_blocker() RETURNS trigger
CREATE OR REPLACE FUNCTION _timescaledb_functions.insert_blocker() RETURNS trigger
AS '@MODULE_PATHNAME@', 'ts_hypertable_insert_blocker' LANGUAGE C;

-- Records mutations or INSERTs which would invalidate a continuous aggregate
CREATE OR REPLACE FUNCTION _timescaledb_internal.continuous_agg_invalidation_trigger() RETURNS TRIGGER
CREATE OR REPLACE FUNCTION _timescaledb_functions.continuous_agg_invalidation_trigger() RETURNS TRIGGER
AS '@MODULE_PATHNAME@', 'ts_continuous_agg_invalidation_trigger' LANGUAGE C;

CREATE OR REPLACE FUNCTION @[email protected]_integer_now_func(hypertable REGCLASS, integer_now_func REGPROC, replace_if_exists BOOL = false) RETURNS VOID
Expand Down
15 changes: 15 additions & 0 deletions sql/updates/latest-dev.sql
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,18 @@ RETURNS TABLE (job_id INTEGER, schedule_interval INTERVAL, max_runtime INTERVAL,
next_start TIMESTAMPTZ, check_config TEXT, fixed_schedule BOOL, initial_start TIMESTAMPTZ, timezone TEXT)
AS '@MODULE_PATHNAME@', 'ts_job_alter'
LANGUAGE C VOLATILE;

-- when upgrading from old versions on PG13 this function might not be present
-- since there is no ALTER FUNCTION IF EXISTS we have to work around it with a DO block
DO $$
BEGIN
IF (EXISTS (SELECT FROM pg_proc WHERE proname = 'drop_dist_ht_invalidation_trigger' AND pronamespace='_timescaledb_internal'::regnamespace))
THEN
ALTER FUNCTION _timescaledb_internal.drop_dist_ht_invalidation_trigger(integer) SET SCHEMA _timescaledb_functions;
END IF;
END;
$$;

ALTER FUNCTION _timescaledb_internal.insert_blocker() SET SCHEMA _timescaledb_functions;
ALTER FUNCTION _timescaledb_internal.continuous_agg_invalidation_trigger() SET SCHEMA _timescaledb_functions;

5 changes: 5 additions & 0 deletions sql/updates/reverse-dev.sql
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,8 @@ RETURNS TABLE (job_id INTEGER, schedule_interval INTERVAL, max_runtime INTERVAL,
next_start TIMESTAMPTZ, check_config TEXT)
AS '@MODULE_PATHNAME@', 'ts_job_alter'
LANGUAGE C VOLATILE;

ALTER FUNCTION _timescaledb_functions.insert_blocker() SET SCHEMA _timescaledb_internal;
ALTER FUNCTION _timescaledb_functions.continuous_agg_invalidation_trigger() SET SCHEMA _timescaledb_internal;
ALTER FUNCTION _timescaledb_functions.drop_dist_ht_invalidation_trigger(integer) SET SCHEMA _timescaledb_internal;

2 changes: 1 addition & 1 deletion src/hypertable.c
Original file line number Diff line number Diff line change
Expand Up @@ -1617,7 +1617,7 @@ insert_blocker_trigger_add(Oid relid)
.trigname = INSERT_BLOCKER_NAME,
.relation = makeRangeVar(schema, relname, -1),
.funcname =
list_make2(makeString(INTERNAL_SCHEMA_NAME), makeString(OLD_INSERT_BLOCKER_NAME)),
list_make2(makeString(FUNCTIONS_SCHEMA_NAME), makeString(OLD_INSERT_BLOCKER_NAME)),
.args = NIL,
.events = TRIGGER_TYPE_INSERT,
};
Expand Down
6 changes: 3 additions & 3 deletions test/expected/create_hypertable.out
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ NOTICE: adding not-null constraint to column "time"

-- Check that the insert block trigger exists
SELECT * FROM test.show_triggers('test_schema.test_table');
Trigger | Type | Function
-------------------+------+--------------------------------------
ts_insert_blocker | 7 | _timescaledb_internal.insert_blocker
Trigger | Type | Function
-------------------+------+---------------------------------------
ts_insert_blocker | 7 | _timescaledb_functions.insert_blocker
(1 row)

SELECT * FROM _timescaledb_internal.get_create_command('test_table');
Expand Down
12 changes: 6 additions & 6 deletions test/expected/pg_dump.out
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,10 @@ SELECT * FROM test.show_constraints('_timescaledb_internal._hyper_1_1_chunk');
(3 rows)

SELECT * FROM test.show_triggers('"test_schema"."two_Partitions"');
Trigger | Type | Function
-------------------+------+--------------------------------------
Trigger | Type | Function
-------------------+------+---------------------------------------
restore_trigger | 7 | test_trigger
ts_insert_blocker | 7 | _timescaledb_internal.insert_blocker
ts_insert_blocker | 7 | _timescaledb_functions.insert_blocker
(2 rows)

SELECT * FROM test.show_triggers('_timescaledb_internal._hyper_1_1_chunk');
Expand Down Expand Up @@ -414,10 +414,10 @@ SELECT * FROM test.show_constraints('_timescaledb_internal._hyper_1_1_chunk');
(3 rows)

SELECT * FROM test.show_triggers('"test_schema"."two_Partitions"');
Trigger | Type | Function
-------------------+------+--------------------------------------
Trigger | Type | Function
-------------------+------+---------------------------------------
restore_trigger | 7 | test_trigger
ts_insert_blocker | 7 | _timescaledb_internal.insert_blocker
ts_insert_blocker | 7 | _timescaledb_functions.insert_blocker
(2 rows)

SELECT * FROM test.show_triggers('_timescaledb_internal._hyper_1_1_chunk');
Expand Down
4 changes: 2 additions & 2 deletions test/expected/rowsecurity-13.out
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Policies:
TO regress_rls_dave
USING (((cid <> 44) AND (cid < 50)))
Triggers:
ts_insert_blocker BEFORE INSERT ON document FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON document FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Number of child tables: 6 (Use \d+ to list them.)

SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename = 'document' ORDER BY policyname;
Expand Down Expand Up @@ -1042,7 +1042,7 @@ Policies:
TO regress_rls_dave
USING ((cid < 55))
Triggers:
ts_insert_blocker BEFORE INSERT ON hyper_document FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON hyper_document FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_2_10_chunk,
_timescaledb_internal._hyper_2_11_chunk,
_timescaledb_internal._hyper_2_12_chunk,
Expand Down
4 changes: 2 additions & 2 deletions test/expected/rowsecurity-14.out
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Policies:
TO regress_rls_dave
USING (((cid <> 44) AND (cid < 50)))
Triggers:
ts_insert_blocker BEFORE INSERT ON document FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON document FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Number of child tables: 6 (Use \d+ to list them.)

SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename = 'document' ORDER BY policyname;
Expand Down Expand Up @@ -1042,7 +1042,7 @@ Policies:
TO regress_rls_dave
USING ((cid < 55))
Triggers:
ts_insert_blocker BEFORE INSERT ON hyper_document FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON hyper_document FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_2_10_chunk,
_timescaledb_internal._hyper_2_11_chunk,
_timescaledb_internal._hyper_2_12_chunk,
Expand Down
4 changes: 2 additions & 2 deletions test/expected/rowsecurity-15.out
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ Policies:
TO regress_rls_dave
USING (((cid <> 44) AND (cid < 50)))
Triggers:
ts_insert_blocker BEFORE INSERT ON document FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON document FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Number of child tables: 6 (Use \d+ to list them.)

SELECT * FROM pg_policies WHERE schemaname = 'regress_rls_schema' AND tablename = 'document' ORDER BY policyname;
Expand Down Expand Up @@ -1042,7 +1042,7 @@ Policies:
TO regress_rls_dave
USING ((cid < 55))
Triggers:
ts_insert_blocker BEFORE INSERT ON hyper_document FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON hyper_document FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_2_10_chunk,
_timescaledb_internal._hyper_2_11_chunk,
_timescaledb_internal._hyper_2_12_chunk,
Expand Down
2 changes: 1 addition & 1 deletion tsl/src/continuous_aggs/create.c
Original file line number Diff line number Diff line change
Expand Up @@ -327,7 +327,7 @@ cagg_add_trigger_hypertable(Oid relid, int32 hypertable_id)
.trigname = CAGGINVAL_TRIGGER_NAME,
.relation = makeRangeVar(schema, relname, -1),
.funcname =
list_make2(makeString(INTERNAL_SCHEMA_NAME), makeString(CAGG_INVALIDATION_TRIGGER)),
list_make2(makeString(FUNCTIONS_SCHEMA_NAME), makeString(CAGG_INVALIDATION_TRIGGER)),
.args = NIL, /* to be filled in later */
.events = TRIGGER_TYPE_INSERT | TRIGGER_TYPE_UPDATE | TRIGGER_TYPE_DELETE,
};
Expand Down
2 changes: 1 addition & 1 deletion tsl/src/continuous_aggs/invalidation.c
Original file line number Diff line number Diff line change
Expand Up @@ -1620,7 +1620,7 @@ remote_drop_dist_ht_invalidation_trigger(int32 raw_hypertable_id)
Oid func_oid;

static const Oid type_id[DROP_DIST_HT_INVALIDATION_TRIGGER_NARGS] = { INT4OID };
List *const fqn = list_make2(makeString(INTERNAL_SCHEMA_NAME),
List *const fqn = list_make2(makeString(FUNCTIONS_SCHEMA_NAME),
makeString(DROP_DIST_HT_INVALIDATION_TRIGGER_FUNCNAME));

func_oid = LookupFuncName(fqn, -1 /* lengthof(type_id) */, type_id, false);
Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/cagg_ddl.out
Original file line number Diff line number Diff line change
Expand Up @@ -1909,7 +1909,7 @@ Indexes:
"_materialized_hypertable_47_amount_bucket_idx" btree (amount, bucket DESC)
"_materialized_hypertable_47_bucket_idx" btree (bucket DESC)
Triggers:
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_47 FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_47 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_47_52_chunk,
_timescaledb_internal._hyper_47_53_chunk

Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/cagg_ddl_dist_ht.out
Original file line number Diff line number Diff line change
Expand Up @@ -1952,7 +1952,7 @@ Indexes:
"_materialized_hypertable_47_amount_bucket_idx" btree (amount, bucket DESC)
"_materialized_hypertable_47_bucket_idx" btree (bucket DESC)
Triggers:
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_47 FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_47 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_47_52_chunk,
_timescaledb_internal._hyper_47_53_chunk

Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/cagg_watermark.out
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ INSERT INTO _timescaledb_catalog.continuous_agg VALUES (2, 1, NULL, '','','','',
-- create the trigger
CREATE TRIGGER continuous_agg_insert_trigger
AFTER INSERT ON continuous_agg_test
FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.continuous_agg_invalidation_trigger(1);
FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.continuous_agg_invalidation_trigger(1);
-- inserting into the table still doesn't change the watermark since there's no
-- continuous_aggs_invalidation_threshold. We treat that case as a invalidation_watermark of
-- BIG_INT_MIN, since the first run of the aggregation will need to scan the
Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/compression_ddl.out
Original file line number Diff line number Diff line change
Expand Up @@ -1359,7 +1359,7 @@ WHERE uc_hypertable.table_name like 'metric' \gset
Indexes:
"_compressed_hypertable_24_series_id_value__ts_meta_sequence_idx" btree (series_id, value, _ts_meta_sequence_num)
Triggers:
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._compressed_hypertable_24 FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._compressed_hypertable_24 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()

-- #5290 Compression can't be enabled on caggs
CREATE TABLE "tEst2" (
Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/continuous_aggs_deprecated-13.out
Original file line number Diff line number Diff line change
Expand Up @@ -1953,7 +1953,7 @@ Indexes:
"_materialized_hypertable_53_amount_bucket_idx" btree (amount, bucket DESC)
"_materialized_hypertable_53_bucket_idx" btree (bucket DESC)
Triggers:
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_53 FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_53 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_53_114_chunk,
_timescaledb_internal._hyper_53_115_chunk

Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/continuous_aggs_deprecated-14.out
Original file line number Diff line number Diff line change
Expand Up @@ -1951,7 +1951,7 @@ Indexes:
"_materialized_hypertable_53_amount_bucket_idx" btree (amount, bucket DESC)
"_materialized_hypertable_53_bucket_idx" btree (bucket DESC)
Triggers:
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_53 FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_53 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_53_114_chunk,
_timescaledb_internal._hyper_53_115_chunk

Expand Down
2 changes: 1 addition & 1 deletion tsl/test/expected/continuous_aggs_deprecated-15.out
Original file line number Diff line number Diff line change
Expand Up @@ -1951,7 +1951,7 @@ Indexes:
"_materialized_hypertable_53_amount_bucket_idx" btree (amount, bucket DESC)
"_materialized_hypertable_53_bucket_idx" btree (bucket DESC)
Triggers:
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_53 FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker()
ts_insert_blocker BEFORE INSERT ON _timescaledb_internal._materialized_hypertable_53 FOR EACH ROW EXECUTE FUNCTION _timescaledb_functions.insert_blocker()
Child tables: _timescaledb_internal._hyper_53_114_chunk,
_timescaledb_internal._hyper_53_115_chunk

Expand Down
24 changes: 12 additions & 12 deletions tsl/test/expected/dist_ddl.out
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@ SELECT * FROM test.show_indexes('disttable');
(3 rows)

SELECT * FROM test.show_triggers('disttable');
Trigger | Type | Function
-------------------+------+--------------------------------------
ts_insert_blocker | 7 | _timescaledb_internal.insert_blocker
Trigger | Type | Function
-------------------+------+---------------------------------------
ts_insert_blocker | 7 | _timescaledb_functions.insert_blocker
(1 row)

SELECT * FROM test.remote_exec(NULL, $$
Expand Down Expand Up @@ -111,9 +111,9 @@ disttable_time_idx |{time} | |f |f |f |
NOTICE: [db_dist_ddl_1]:
SELECT * FROM test.show_triggers('disttable')
NOTICE: [db_dist_ddl_1]:
Trigger |Type|Function
-----------------+----+------------------------------------
ts_insert_blocker| 7|_timescaledb_internal.insert_blocker
Trigger |Type|Function
-----------------+----+-------------------------------------
ts_insert_blocker| 7|_timescaledb_functions.insert_blocker
(1 row)


Expand Down Expand Up @@ -152,9 +152,9 @@ disttable_time_idx |{time} | |f |f |f |
NOTICE: [db_dist_ddl_2]:
SELECT * FROM test.show_triggers('disttable')
NOTICE: [db_dist_ddl_2]:
Trigger |Type|Function
-----------------+----+------------------------------------
ts_insert_blocker| 7|_timescaledb_internal.insert_blocker
Trigger |Type|Function
-----------------+----+-------------------------------------
ts_insert_blocker| 7|_timescaledb_functions.insert_blocker
(1 row)


Expand Down Expand Up @@ -193,9 +193,9 @@ disttable_time_idx |{time} | |f |f |f |
NOTICE: [db_dist_ddl_3]:
SELECT * FROM test.show_triggers('disttable')
NOTICE: [db_dist_ddl_3]:
Trigger |Type|Function
-----------------+----+------------------------------------
ts_insert_blocker| 7|_timescaledb_internal.insert_blocker
Trigger |Type|Function
-----------------+----+-------------------------------------
ts_insert_blocker| 7|_timescaledb_functions.insert_blocker
(1 row)


Expand Down
30 changes: 15 additions & 15 deletions tsl/test/expected/dist_hypertable-13.out
Original file line number Diff line number Diff line change
Expand Up @@ -303,10 +303,10 @@ SELECT * FROM test.show_indexes('disttable');
(3 rows)

SELECT * FROM test.show_triggers('disttable');
Trigger | Type | Function
------------------------+------+--------------------------------------
Trigger | Type | Function
------------------------+------+---------------------------------------
_0_test_trigger_insert | 7 | test_trigger
ts_insert_blocker | 7 | _timescaledb_internal.insert_blocker
ts_insert_blocker | 7 | _timescaledb_functions.insert_blocker
(2 rows)

-- Drop a column. This will make the attribute numbers of the
Expand Down Expand Up @@ -2220,9 +2220,9 @@ SELECT * FROM _timescaledb_catalog.dimension;
(5 rows)

SELECT * FROM test.show_triggers('"Table\\Schema"."Param_Table"');
Trigger | Type | Function
-------------------+------+--------------------------------------
ts_insert_blocker | 7 | _timescaledb_internal.insert_blocker
Trigger | Type | Function
-------------------+------+---------------------------------------
ts_insert_blocker | 7 | _timescaledb_functions.insert_blocker
(1 row)

SELECT * FROM test.remote_exec(ARRAY[:'DATA_NODE_1', :'DATA_NODE_2', :'DATA_NODE_3'], $$
Expand Down Expand Up @@ -2259,9 +2259,9 @@ NOTICE: [db_dist_hypertable_1]:
SELECT t.tgname, t.tgtype, t.tgfoid::regproc
FROM pg_trigger t, pg_class c WHERE c.relname = 'Param_Table' AND t.tgrelid = c.oid
NOTICE: [db_dist_hypertable_1]:
tgname |tgtype|tgfoid
-----------------+------+------------------------------------
ts_insert_blocker| 7|_timescaledb_internal.insert_blocker
tgname |tgtype|tgfoid
-----------------+------+-------------------------------------
ts_insert_blocker| 7|_timescaledb_functions.insert_blocker
(1 row)


Expand Down Expand Up @@ -2293,9 +2293,9 @@ NOTICE: [db_dist_hypertable_2]:
SELECT t.tgname, t.tgtype, t.tgfoid::regproc
FROM pg_trigger t, pg_class c WHERE c.relname = 'Param_Table' AND t.tgrelid = c.oid
NOTICE: [db_dist_hypertable_2]:
tgname |tgtype|tgfoid
-----------------+------+------------------------------------
ts_insert_blocker| 7|_timescaledb_internal.insert_blocker
tgname |tgtype|tgfoid
-----------------+------+-------------------------------------
ts_insert_blocker| 7|_timescaledb_functions.insert_blocker
(1 row)


Expand Down Expand Up @@ -2327,9 +2327,9 @@ NOTICE: [db_dist_hypertable_3]:
SELECT t.tgname, t.tgtype, t.tgfoid::regproc
FROM pg_trigger t, pg_class c WHERE c.relname = 'Param_Table' AND t.tgrelid = c.oid
NOTICE: [db_dist_hypertable_3]:
tgname |tgtype|tgfoid
-----------------+------+------------------------------------
ts_insert_blocker| 7|_timescaledb_internal.insert_blocker
tgname |tgtype|tgfoid
-----------------+------+-------------------------------------
ts_insert_blocker| 7|_timescaledb_functions.insert_blocker
(1 row)


Expand Down
Loading

0 comments on commit 56ea8b4

Please sign in to comment.