Avoid sending prepare multiple times while decoding.
authorAmit Kapila <akapila@postgresql.org>
Mon, 26 Apr 2021 05:57:44 +0000 (11:27 +0530)
committerAmit Kapila <akapila@postgresql.org>
Mon, 26 Apr 2021 05:57:44 +0000 (11:27 +0530)
commitf25a4584c6f56f3407f8f8734c78f2a87e4b77e8
treedaf09d55239a0d0c99dc92aba9afbad1dd25a511
parent3cbea581c76e86d51b8f2babf116e643847e7712
Avoid sending prepare multiple times while decoding.

We send the prepare for the concurrently aborted xacts so that later when
rollback prepared is decoded and sent, the downstream should be able to
rollback such a xact. For 'streaming' case (when we send changes for
in-progress transactions), we were sending prepare twice when concurrent
abort was detected.

Author: Peter Smith
Reviewed-by: Amit Kapila
Discussion: https://postgr.es/m/f82133c6-6055-b400-7922-97dae9f2b50b@enterprisedb.com
src/backend/replication/logical/reorderbuffer.c