@@ -2518,8 +2518,7 @@ CopyMultiInsertBufferFlush(CopyMultiInsertInfo *miinfo,
2518
2518
* The buffer must be flushed before cleanup.
2519
2519
*/
2520
2520
static inline void
2521
- CopyMultiInsertBufferCleanup (CopyMultiInsertInfo * miinfo ,
2522
- CopyMultiInsertBuffer * buffer )
2521
+ CopyMultiInsertBufferCleanup (CopyMultiInsertBuffer * buffer )
2523
2522
{
2524
2523
int i ;
2525
2524
@@ -2535,9 +2534,6 @@ CopyMultiInsertBufferCleanup(CopyMultiInsertInfo *miinfo,
2535
2534
for (i = 0 ; i < MAX_BUFFERED_TUPLES && buffer -> slots [i ] != NULL ; i ++ )
2536
2535
ExecDropSingleTupleTableSlot (buffer -> slots [i ]);
2537
2536
2538
- table_finish_bulk_insert (buffer -> resultRelInfo -> ri_RelationDesc ,
2539
- miinfo -> ti_options );
2540
-
2541
2537
pfree (buffer );
2542
2538
}
2543
2539
@@ -2589,7 +2585,7 @@ CopyMultiInsertInfoFlush(CopyMultiInsertInfo *miinfo, ResultRelInfo *curr_rri)
2589
2585
buffer = (CopyMultiInsertBuffer * ) linitial (miinfo -> multiInsertBuffers );
2590
2586
}
2591
2587
2592
- CopyMultiInsertBufferCleanup (miinfo , buffer );
2588
+ CopyMultiInsertBufferCleanup (buffer );
2593
2589
miinfo -> multiInsertBuffers = list_delete_first (miinfo -> multiInsertBuffers );
2594
2590
}
2595
2591
}
@@ -2603,7 +2599,7 @@ CopyMultiInsertInfoCleanup(CopyMultiInsertInfo *miinfo)
2603
2599
ListCell * lc ;
2604
2600
2605
2601
foreach (lc , miinfo -> multiInsertBuffers )
2606
- CopyMultiInsertBufferCleanup (miinfo , lfirst (lc ));
2602
+ CopyMultiInsertBufferCleanup (lfirst (lc ));
2607
2603
2608
2604
list_free (miinfo -> multiInsertBuffers );
2609
2605
}
@@ -3325,6 +3321,9 @@ CopyFrom(CopyState cstate)
3325
3321
{
3326
3322
if (!CopyMultiInsertInfoIsEmpty (& multiInsertInfo ))
3327
3323
CopyMultiInsertInfoFlush (& multiInsertInfo , NULL );
3324
+
3325
+ /* Tear down the multi-insert buffer data */
3326
+ CopyMultiInsertInfoCleanup (& multiInsertInfo );
3328
3327
}
3329
3328
3330
3329
/* Done, clean up */
@@ -3367,11 +3366,7 @@ CopyFrom(CopyState cstate)
3367
3366
3368
3367
FreeExecutorState (estate );
3369
3368
3370
- if (insertMethod != CIM_SINGLE )
3371
- {
3372
- /* Tear down the multi-insert buffer data */
3373
- CopyMultiInsertInfoCleanup (& multiInsertInfo );
3374
- }
3369
+ table_finish_bulk_insert (cstate -> rel , ti_options );
3375
3370
3376
3371
return processed ;
3377
3372
}
0 commit comments