]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix bug in WAL replay of COMMIT_TS_SETTS record.
authorFujii Masao <fujii@postgresql.org>
Thu, 25 Mar 2021 02:23:30 +0000 (11:23 +0900)
committerFujii Masao <fujii@postgresql.org>
Thu, 25 Mar 2021 02:24:44 +0000 (11:24 +0900)
commit73cce168ffcb1a0343cfa6fafe237f49b1449734
tree6f40e0f2ec7f1a34c996a2dfc1d381aef171bd71
parentbeac4bd65dcf02a86013120c660498e50f3f88dd
Fix bug in WAL replay of COMMIT_TS_SETTS record.

Previously the WAL replay of COMMIT_TS_SETTS record called
TransactionTreeSetCommitTsData() with the argument write_xlog=true,
which generated and wrote new COMMIT_TS_SETTS record.
This should not be acceptable because it's during recovery.

This commit fixes the WAL replay of COMMIT_TS_SETTS record
so that it calls TransactionTreeSetCommitTsData() with write_xlog=false
and doesn't generate new WAL during recovery.

Back-patch to all supported branches.

Reported-by: lx zou <zoulx1982@163.com>
Author: Fujii Masao
Reviewed-by: Alvaro Herrera
Discussion: https://postgr.es/m/16931-620d0f2fdc6108f1@postgresql.org
src/backend/access/transam/commit_ts.c