Revert fix missing call to table_finish_bulk_insert during COPY
This reverts commits 4de60244e and b2d69806d. Further thought is required to make this work properly.
This commit is contained in:
parent
b2d69806d8
commit
f5db56fc4d
@ -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,
|
|||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user