diff options
Diffstat (limited to 'src/backend/commands')
| -rw-r--r-- | src/backend/commands/copy.c | 3 | ||||
| -rw-r--r-- | src/backend/commands/trigger.c | 11 |
2 files changed, 4 insertions, 10 deletions
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index f22d0a07987..137b1ef42d9 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -2773,6 +2773,9 @@ CopyFrom(CopyState cstate) ExecDropSingleTupleTableSlot(cstate->partition_tuple_slot); } + /* Close any trigger target relations */ + ExecCleanUpTriggerState(estate); + FreeExecutorState(estate); /* diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index 819395a9678..1566fb46074 100644 --- a/src/backend/commands/trigger.c +++ b/src/backend/commands/trigger.c @@ -4110,16 +4110,7 @@ afterTriggerInvokeEvents(AfterTriggerEventList *events, if (local_estate) { - ListCell *l; - - foreach(l, estate->es_trig_target_relations) - { - ResultRelInfo *resultRelInfo = (ResultRelInfo *) lfirst(l); - - /* Close indices and then the relation itself */ - ExecCloseIndices(resultRelInfo); - heap_close(resultRelInfo->ri_RelationDesc, NoLock); - } + ExecCleanUpTriggerState(estate); FreeExecutorState(estate); } |
