Peter Eisentraut wrote: > > 0002 is a fixup for a bug in the row triggers patch: I had a restriction > > earlier that triggers declared internal were not cloned, and I seem to > > have lost it in rebase. Reinstate it. > > Hmm, doesn't cause any test changes?
Here's a test case: create table t (a int) partition by range (a); create table t1 partition of t for values from (0) to (1000); alter table t add constraint uniq unique (a) deferrable; create table t2 partition of t for values from (1000) to (2000); create table t3 partition of t for values from (2000) to (3000) partition by range (a); create table t33 partition of t3 for values from (2000) to (2100); Tables t and t1 have one trigger; tables t2 and t3 have two triggers; table t33 has three triggers: alvherre=# select tgrelid::regclass, count(*) from pg_trigger where tgrelid::regclass in ('t', 't1', 't2', 't3', 't33') group by tgrelid; tgrelid │ count ─────────┼─────── t │ 1 t1 │ 1 t2 │ 2 t3 │ 2 t33 │ 3 (5 filas) These triggers probably all do the same thing, so there is no correctness issue -- only speed. I suppose it's not impossible to construct a case that shows some actual breakage -- I just don't know how. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services