Alvaro Herrera <alvhe...@alvh.no-ip.org> 于2024年7月19日周五 21:18写道:
> Hello, > > I think the fix for the check triggers should be as the attached. Very > close to what you did, but you were skipping some operations that needed > to be kept. AFAICS this patch works correctly for the posted cases. > After applying the attached, the r_1_p_id_fkey1 will have redundant action triggers, as below: postgres=# select oid, conname, contype, conrelid, conindid,conparentid, confrelid,conislocal,coninhcount, connoinherit from pg_constraint where oid = 16402; oid | conname | contype | conrelid | conindid | conparentid | confrelid | conislocal | coninhcount | connoinherit -------+----------------+---------+----------+----------+-------------+-----------+------------+-------------+-------------- 16402 | r_1_p_id_fkey1 | f | 16394 | 16392 | 0 | 16389 | t | 0 | f (1 row) postgres=# select oid, tgrelid, tgparentid, tgconstrrelid, tgconstrindid, tgconstraint from pg_trigger where tgconstraint = 16402; oid | tgrelid | tgparentid | tgconstrrelid | tgconstrindid | tgconstraint -------+---------+------------+---------------+---------------+-------------- 16403 | 16389 | 16400 | 16394 | 16392 | 16402 16404 | 16389 | 16401 | 16394 | 16392 | 16402 16422 | 16389 | 0 | 16394 | 16392 | 16402 16423 | 16389 | 0 | 16394 | 16392 | 16402 (4 rows) -- Tender Wang