Attach FPI to the first record after full_page_writes is turned on.
authorAmit Kapila <akapila@postgresql.org>
Thu, 13 Sep 2018 10:00:26 +0000 (15:30 +0530)
committerAmit Kapila <akapila@postgresql.org>
Thu, 13 Sep 2018 10:02:50 +0000 (15:32 +0530)
commitbc153c941d2ec4e605b1e79be9478abc3d166a18
treecf1ddc9e9f0770d1838e2fb8cd558379b87e9022
parent514a731ddcd8449d8a7bfb96f138c72c694a7ef8
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