Attach FPI to the first record after full_page_writes is turned on.
authorAmit Kapila <akapila@postgresql.org>
Thu, 13 Sep 2018 10:08:15 +0000 (15:38 +0530)
committerAmit Kapila <akapila@postgresql.org>
Thu, 13 Sep 2018 10:08:15 +0000 (15:38 +0530)
commitff4220ead2c833fb36e9709ab2568c6ac43e9d3b
tree6af24e644a9eca7c0e1e2ace881aab69c87d82e4
parent12368f5e83e70e015a7352f52115579c135e82e5
Attach FPI to the first record after full_page_writes is turned on.

XLogInsert fails to attach a required FPI to the first record after
full_page_writes is turned on by the last checkpoint.  This bug got
introduced in 9.5 due to code rearrangement in commits 2c03216d83 and
2076db2aea.  Fix it by ensuring that XLogInsertRecord performs a
recomputation when the given record is generated with FPW as off but
found that the flag has been turned on while actually inserting the
record.

Reported-by: Kyotaro Horiguchi
Author: Kyotaro Horiguchi
Reviewed-by: Amit Kapila
Backpatch-through: 9.5 where this problem was introduced
Discussion: https://postgr.es/m/20180420.151043.74298611.horiguchi.kyotaro@lab.ntt.co.jp
src/backend/access/transam/xlog.c