logical decoding: process ASSIGNMENT during snapshot build
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 13 Sep 2019 19:36:28 +0000 (16:36 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 13 Sep 2019 19:36:28 +0000 (16:36 -0300)
commitbac2fae05c7737530a6fe8276cd27d210d25c6ac
tree939f0a657dc99bc6f54892c54ff0bb67e9ec3d86
parentce5d04b6463d9f642e30d1f6abf45846e1255be0
logical decoding: process ASSIGNMENT during snapshot build

Most WAL records are ignored in early SnapBuild snapshot build phases.
But it's critical to process some of them, so that later messages have
the correct transaction state after the snapshot is completely built; in
particular, XLOG_XACT_ASSIGNMENT messages are critical in order for
sub-transactions to be correctly assigned to their parent transactions,
or at least one assert misbehaves, as reported by Ildar Musin.

Diagnosed-by: Masahiko Sawada
Author: Masahiko Sawada
Discussion: https://postgr.es/m/CAONYFtOv+Er1p3WAuwUsy1zsCFrSYvpHLhapC_fMD-zNaRWxYg@mail.gmail.com
src/backend/replication/logical/decode.c