Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit e8d1259

Browse files
committed
Fix bug in bulk insert implementation in multimaster
1 parent 9d2d0c4 commit e8d1259

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

contrib/mmts/pglogical_apply.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -922,20 +922,21 @@ process_remote_insert(StringInfo s, Relation rel)
922922
BulkInsertState bistate = GetBulkInsertState();
923923
HeapTuple bufferedTuples[MAX_BUFFERED_TUPLES];
924924
MemoryContext oldcontext;
925-
int nBufferedTuples;
925+
int nBufferedTuples = 1;
926926
size_t bufferedTuplesSize;
927927
CommandId mycid = GetCurrentCommandId(true);
928928

929929
bufferedTuples[0] = heap_form_tuple(tupDesc, new_tuple.values, new_tuple.isnull);
930930
bufferedTuplesSize = bufferedTuples[0]->t_len;
931931

932-
for (nBufferedTuples = 1; nBufferedTuples < MAX_BUFFERED_TUPLES && bufferedTuplesSize < MAX_BUFFERED_TUPLES_SIZE; nBufferedTuples++)
932+
while (nBufferedTuples < MAX_BUFFERED_TUPLES && bufferedTuplesSize < MAX_BUFFERED_TUPLES_SIZE)
933933
{
934934
int action = pq_getmsgbyte(s);
935935
Assert(action == 'I');
936936
read_tuple_parts(s, rel, &new_tuple);
937937
bufferedTuples[nBufferedTuples] = heap_form_tuple(tupDesc,
938-
new_tuple.values, new_tuple.isnull);
938+
new_tuple.values, new_tuple.isnull);
939+
bufferedTuplesSize += bufferedTuples[nBufferedTuples++]->t_len;
939940
if (pq_peekmsgbyte(s) != 'I')
940941
break;
941942
}

0 commit comments

Comments
 (0)