diff options
Diffstat (limited to 'src/backend/executor/execIndexing.c')
-rw-r--r-- | src/backend/executor/execIndexing.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/backend/executor/execIndexing.c b/src/backend/executor/execIndexing.c index 384b39839a0..2fa2118f3c2 100644 --- a/src/backend/executor/execIndexing.c +++ b/src/backend/executor/execIndexing.c @@ -233,15 +233,20 @@ ExecCloseIndices(ResultRelInfo *resultRelInfo) int i; int numIndices; RelationPtr indexDescs; + IndexInfo **indexInfos; numIndices = resultRelInfo->ri_NumIndices; indexDescs = resultRelInfo->ri_IndexRelationDescs; + indexInfos = resultRelInfo->ri_IndexRelationInfo; for (i = 0; i < numIndices; i++) { if (indexDescs[i] == NULL) continue; /* shouldn't happen? */ + /* Give the index a chance to do some post-insert cleanup */ + index_insert_cleanup(indexDescs[i], indexInfos[i]); + /* Drop lock acquired by ExecOpenIndices */ index_close(indexDescs[i], RowExclusiveLock); } |