Fix AfterTriggerSaveEvent to use a test and elog, not just Assert, to check
Tom Lane <tgl@sss.pgh.pa.us>
Fix AfterTriggerSaveEvent to use a test and elog, not just Assert, to check that it's called within an AfterTriggerBeginQuery/AfterTriggerEndQuery pair. The RI cascade triggers suppress that overhead on the assumption that they are always run non-deferred, so it's possible to violate the condition if someone mistakenly changes pg_trigger to mark such a trigger deferred. We don't really care about supporting that, but throwing an error instead of crashing seems desirable. Per report from Marcelo Costa.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/commands/trigger.c | modified | +8 −1 |