Call ReorderBufferProcessXid from sequence_decode
authorTomas Vondra <tomas.vondra@postgresql.org>
Mon, 7 Mar 2022 19:53:16 +0000 (20:53 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Mon, 7 Mar 2022 19:53:16 +0000 (20:53 +0100)
Commit 0da92dc530c added sequence_decode() implementing logical decoding
of sequences, but it failed to call ReorderBufferProcessXid() as it
should. So add the missing call.

Reported-by: Amit Kapila
Discussion: https://postgr.es/m/CAA4eK1KGn6cQqJEsubOOENwQOANsExiV2sKL52r4U10J8NJEMQ%40mail.gmail.com

src/backend/replication/logical/decode.c

index 18cf9318221fa57e85e284f6a8577687a5030f2d..8c00a73cb9f528ed2a74797681779e3e51c33b49 100644 (file)
@@ -1321,6 +1321,8 @@ sequence_decode(LogicalDecodingContext *ctx, XLogRecordBuffer *buf)
        if (info != XLOG_SEQ_LOG)
                elog(ERROR, "unexpected RM_SEQ_ID record type: %u", info);
 
+       ReorderBufferProcessXid(ctx->reorder, XLogRecGetXid(r), buf->origptr);
+
        /*
         * If we don't have snapshot or we are just fast-forwarding, there is no
         * point in decoding messages.