Commit f5db56fc authored by David Rowley's avatar David Rowley

Revert fix missing call to table_finish_bulk_insert during COPY

This reverts commits 4de60244 and b2d69806. Further thought is
required to make this work properly.
parent b2d69806
...@@ -2518,8 +2518,7 @@ CopyMultiInsertBufferFlush(CopyMultiInsertInfo *miinfo, ...@@ -2518,8 +2518,7 @@ CopyMultiInsertBufferFlush(CopyMultiInsertInfo *miinfo,
* The buffer must be flushed before cleanup. * The buffer must be flushed before cleanup.
*/ */
static inline void static inline void
CopyMultiInsertBufferCleanup(CopyMultiInsertInfo *miinfo, CopyMultiInsertBufferCleanup(CopyMultiInsertBuffer *buffer)
CopyMultiInsertBuffer *buffer)
{ {
int i; int i;
...@@ -2535,9 +2534,6 @@ CopyMultiInsertBufferCleanup(CopyMultiInsertInfo *miinfo, ...@@ -2535,9 +2534,6 @@ CopyMultiInsertBufferCleanup(CopyMultiInsertInfo *miinfo,
for (i = 0; i < MAX_BUFFERED_TUPLES && buffer->slots[i] != NULL; i++) for (i = 0; i < MAX_BUFFERED_TUPLES && buffer->slots[i] != NULL; i++)
ExecDropSingleTupleTableSlot(buffer->slots[i]); ExecDropSingleTupleTableSlot(buffer->slots[i]);
table_finish_bulk_insert(buffer->resultRelInfo->ri_RelationDesc,
miinfo->ti_options);
pfree(buffer); pfree(buffer);
} }
...@@ -2589,7 +2585,7 @@ CopyMultiInsertInfoFlush(CopyMultiInsertInfo *miinfo, ResultRelInfo *curr_rri) ...@@ -2589,7 +2585,7 @@ CopyMultiInsertInfoFlush(CopyMultiInsertInfo *miinfo, ResultRelInfo *curr_rri)
buffer = (CopyMultiInsertBuffer *) linitial(miinfo->multiInsertBuffers); buffer = (CopyMultiInsertBuffer *) linitial(miinfo->multiInsertBuffers);
} }
CopyMultiInsertBufferCleanup(miinfo, buffer); CopyMultiInsertBufferCleanup(buffer);
miinfo->multiInsertBuffers = list_delete_first(miinfo->multiInsertBuffers); miinfo->multiInsertBuffers = list_delete_first(miinfo->multiInsertBuffers);
} }
} }
...@@ -2603,7 +2599,7 @@ CopyMultiInsertInfoCleanup(CopyMultiInsertInfo *miinfo) ...@@ -2603,7 +2599,7 @@ CopyMultiInsertInfoCleanup(CopyMultiInsertInfo *miinfo)
ListCell *lc; ListCell *lc;
foreach(lc, miinfo->multiInsertBuffers) foreach(lc, miinfo->multiInsertBuffers)
CopyMultiInsertBufferCleanup(miinfo, lfirst(lc)); CopyMultiInsertBufferCleanup(lfirst(lc));
list_free(miinfo->multiInsertBuffers); list_free(miinfo->multiInsertBuffers);
} }
...@@ -3325,6 +3321,9 @@ CopyFrom(CopyState cstate) ...@@ -3325,6 +3321,9 @@ CopyFrom(CopyState cstate)
{ {
if (!CopyMultiInsertInfoIsEmpty(&multiInsertInfo)) if (!CopyMultiInsertInfoIsEmpty(&multiInsertInfo))
CopyMultiInsertInfoFlush(&multiInsertInfo, NULL); CopyMultiInsertInfoFlush(&multiInsertInfo, NULL);
/* Tear down the multi-insert buffer data */
CopyMultiInsertInfoCleanup(&multiInsertInfo);
} }
/* Done, clean up */ /* Done, clean up */
...@@ -3367,11 +3366,7 @@ CopyFrom(CopyState cstate) ...@@ -3367,11 +3366,7 @@ CopyFrom(CopyState cstate)
FreeExecutorState(estate); FreeExecutorState(estate);
if (insertMethod != CIM_SINGLE) table_finish_bulk_insert(cstate->rel, ti_options);
{
/* Tear down the multi-insert buffer data */
CopyMultiInsertInfoCleanup(&multiInsertInfo);
}
return processed; return processed;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment