diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 0f2de7e2e0..4b295f8da5 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -863,11 +863,6 @@ CreateTriggerFiringOn(CreateTrigStmt *stmt, const char *queryString, /* * Build the new pg_trigger tuple. - * - * When we're creating a trigger in a partition, we mark it as internal, - * even though we don't do the isInternal magic in this function. This - * makes the triggers in partitions identical to the ones in the - * partitioned tables, except that they are marked internal. */ memset(nulls, false, sizeof(nulls)); diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.out index f7301b5213..e8de916dfe 100644 --- a/src/test/regress/expected/triggers.out +++ b/src/test/regress/expected/triggers.out @@ -2718,6 +2718,18 @@ select tgrelid::regclass, tgname, tgenabled from pg_trigger parent | tg_stmt | A (3 rows) +-- This variant malfunctioned in some releases. +alter table parent disable trigger user; +select tgrelid::regclass, tgname, tgenabled from pg_trigger + where tgrelid in ('parent'::regclass, 'child1'::regclass) + order by tgrelid::regclass::text, tgname; + tgrelid | tgname | tgenabled +---------+---------+----------- + child1 | tg | D + parent | tg | D + parent | tg_stmt | D +(3 rows) + drop table parent, child1; -- Check processing of foreign key triggers create table parent (a int primary key, f int references parent) diff --git a/src/test/regress/sql/triggers.sql b/src/test/regress/sql/triggers.sql index 4222a8500b..d29e98d2ac 100644 --- a/src/test/regress/sql/triggers.sql +++ b/src/test/regress/sql/triggers.sql @@ -1878,6 +1878,11 @@ select tgrelid::regclass, tgname, tgenabled from pg_trigger -- The following is a no-op for the parent trigger but not so -- for the child trigger, so recursion should be applied. alter table parent enable always trigger tg; +select tgrelid::regclass, tgname, tgenabled from pg_trigger + where tgrelid in ('parent'::regclass, 'child1'::regclass) + order by tgrelid::regclass::text, tgname; +-- This variant malfunctioned in some releases. +alter table parent disable trigger user; select tgrelid::regclass, tgname, tgenabled from pg_trigger where tgrelid in ('parent'::regclass, 'child1'::regclass) order by tgrelid::regclass::text, tgname;