aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-06-30 12:37:02 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-06-30 12:37:02 -0400
commitf8c58554db48fe004938a8a34a42afb78157b66c (patch)
tree48ed99891f6bab538ef164638b8d685446727005
parent3154e16737ad17b2c63529e3df627bb5eb3bb3be (diff)
downloadpostgresql-f8c58554db48fe004938a8a34a42afb78157b66c.tar.gz
postgresql-f8c58554db48fe004938a8a34a42afb78157b66c.zip
Fix typo in ReorderBufferIterTXNInit().
This looks like it would cause changes from subtransactions to be missed by the iterator being constructed, if those changes had been spilled to disk previously. This implies that large subtransactions might be lost (in whole or in part) by logical replication. Found and fixed by Petru-Florin Mihancea, per bug #14208. Report: <20160622144830.5791.22512@wrigleys.postgresql.org>
-rw-r--r--src/backend/replication/logical/reorderbuffer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 00e31a2d740..12e01edb3f7 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -960,7 +960,7 @@ ReorderBufferIterTXNInit(ReorderBuffer *rb, ReorderBufferTXN *txn)
{
ReorderBufferChange *cur_change;
- if (txn->nentries != txn->nentries_mem)
+ if (cur_txn->nentries != cur_txn->nentries_mem)
ReorderBufferRestoreChanges(rb, cur_txn,
&state->entries[off].fd,
&state->entries[off].segno);