On 2020-Apr-20, Alvaro Herrera wrote:

> +     while (HeapTupleIsValid(trigtup = systable_getnext(scan)))
> +     {
> +             Form_pg_trigger pg_trigger = (Form_pg_trigger) 
> GETSTRUCT(trigtup);
> +             ObjectAddress trig;
> +
> +             /* Ignore triggers that weren't cloned */
> +             if (!OidIsValid(pg_trigger->tgparentid) ||
> +                     !pg_trigger->tgisinternal ||
> +                     !TRIGGER_FOR_ROW(pg_trigger->tgtype))
> +                     continue;

Actually, shouldn't we be checking just "!OidIsValid(pg_trigger->tgparentid)"
here?  Surely the other two conditions should already not matter either
way if tgparentid is set.  I can't see us starting to clone
for-statement triggers, but I'm not sure I trust the internal marking to
remain one way or the other.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Reply via email to