postgres.git / summary / log / commit / refs

commit    03e2b1017c0d360cae0b4d0a8bf5d6924536c834
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Fri May 16 07:53:10 2014 +0000
First released in: 9.4.0

    Fix thinko in logical decoding of commit-prepared records.
    
    The decoding of prepared transaction commits accidentally used the XID of
    the transaction performing the COMMIT PREPARED, not the XID of the prepared
    transaction. Before bb38fb0d43c8d that lead to those transactions not being
    decoded, afterwards to a assertion failure.


src/backend/replication/logical/decode.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/replication/logical/decode.c b/src/backend/replication/logical/decode.c index 7b6114a2097..cc736521c2a 100644 --- a/src/backend/replication/logical/decode.c +++ b/src/backend/replication/logical/decode.c @@ -225,7 +225,7 @@ DecodeXactOp(LogicalDecodingContext *ctx, XLogRecordBuffer *buf) subxacts = (TransactionId *) &(xlrec->xnodes[xlrec->nrels]); invals = (SharedInvalidationMessage *) &(subxacts[xlrec->nsubxacts]); - DecodeCommit(ctx, buf, r->xl_xid, xlrec->dbId, + DecodeCommit(ctx, buf, prec->xid, xlrec->dbId, xlrec->xact_time, xlrec->nsubxacts, subxacts, xlrec->nmsgs, invals); [parent: e7873b74d9c1]