Fix ALTER TABLE .. ENABLE/DISABLE TRIGGER recursion

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: 0e6b6f8c7192c82f62b4bbc0b40e9c6252a67bd1
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2020-10-20T22:22:09Z
Releases: 12.5
Fix ALTER TABLE .. ENABLE/DISABLE TRIGGER recursion

More precisely, correctly handle the ONLY flag indicating not to
recurse.  This was implemented in 86f575948c77 by recursing in
trigger.c, but that's the wrong place; use ATSimpleRecursion instead,
which behaves properly.  However, because legacy inheritance has never
recursed in that situation, make sure to do that only for new-style
partitioning.

I noticed this problem while testing a fix for another bug in the
vicinity.

This has been wrong all along, so backpatch to 11.

Discussion: https://postgr.es/m/20201016235925.GA29829@alvherre.pgsql

Files

Discussion