More cleanup of 'ThisTimeLineID'.
authorRobert Haas <rhaas@postgresql.org>
Wed, 10 Nov 2021 14:36:57 +0000 (09:36 -0500)
committerRobert Haas <rhaas@postgresql.org>
Wed, 10 Nov 2021 14:45:24 +0000 (09:45 -0500)
commita27048cbcb582056bfbf15aa2f898b4a3ec74304
tree00fe2b34f28fca1e3e9d9fd2f06d18c9d5326a45
parent733e0391536dad99a2677ca5e19291854da5730f
More cleanup of 'ThisTimeLineID'.

In XLogCtlData, rename the structure member ThisTimeLineID to
InsertTimeLineID and update the comments to make clear that it's only
expected to be set after recovery is complete.

In StartupXLOG, replace the local variables ThisTimeLineID and
PrevTimeLineID with new local variables replayTLI and newTLI.  In the
old scheme, ThisTimeLineID was the replay TLI until we created a new
timeline, and after that the replay TLI was in PrevTimeLineID. Now,
replayTLI is the TLI from which we last replayed WAL throughout the
entire function, and newTLI is either that, or the new timeline created
upon promotion.

Remove some misleading comments from the comment block just above where
recoveryTargetTimeLineGoal and friends are declared. It's become
incorrect, not only because ThisTimeLineID as a variable is now gone,
but also because the rmgr code does not care about ThisTimeLineID and
has not since what used to be the TLI field in the page header was
repurposed to store the page checksum.

Add a comment GetFlushRecPtr that it's only supposed to be used in
normal running, and an assertion to verify that this is so.

Per some ideas from Michael Paquier and some of my own. Review by
Michael Paquier also.

Discussion: http://postgr.es/m/CA+TgmoY1a2d1AnVR3tJcKmGGkhj7GGrwiNwjtKr21dxOuLBzCQ@mail.gmail.com
src/backend/access/transam/xlog.c