Track latest completed xid as a FullTransactionId.
authorAndres Freund <andres@anarazel.de>
Wed, 12 Aug 2020 00:41:18 +0000 (17:41 -0700)
committerAndres Freund <andres@anarazel.de>
Wed, 12 Aug 2020 00:41:18 +0000 (17:41 -0700)
commit3bd7f9969a240827bc2effa399170b7565238fd2
treec3a1db34b0730dfda425c98ce4ef18d71f953108
parentfea10a64340e529805609126740a540c8f9daab4
Track latest completed xid as a FullTransactionId.

The reason for doing so is that a subsequent commit will need that to
avoid wraparound issues. As the subsequent change is large this was
split out for easier review.

The reason this is not a perfect straight-forward change is that we do
not want track 64bit xids in the procarray or the WAL. Therefore we
need to advance lastestCompletedXid in relation to 32 bit xids. The
code for that is now centralized in MaintainLatestCompletedXid*.

Author: Andres Freund
Reviewed-By: Thomas Munro, Robert Haas, David Rowley
Discussion: https://postgr.es/m/20200301083601.ews6hz5dduc3w2se@alap3.anarazel.de
src/backend/access/transam/varsup.c
src/backend/access/transam/xlog.c
src/backend/storage/ipc/procarray.c
src/include/access/transam.h