From eae4425998305d8f03cca9f0334d08d0cb0819eb Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Fri, 29 Oct 2021 13:28:09 -0400 Subject: [PATCH] xlogarchive.c: Make TLI a parameter for XLogArchiveNotifySeg(). This means we don't need to depend on ThisTimeLineID. --- src/backend/access/transam/xlog.c | 2 +- src/backend/access/transam/xlogarchive.c | 6 ++++-- src/include/access/xlogarchive.h | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 23a3d49f77..53e31070e4 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -2641,7 +2641,7 @@ XLogWrite(XLogwrtRqst WriteRqst, bool flexible) LogwrtResult.Flush = LogwrtResult.Write; /* end of page */ if (XLogArchivingActive()) - XLogArchiveNotifySeg(openLogSegNo); + XLogArchiveNotifySeg(openLogSegNo, ThisTimeLineID); XLogCtl->lastSegSwitchTime = (pg_time_t) time(NULL); XLogCtl->lastSegSwitchLSN = LogwrtResult.Flush; diff --git a/src/backend/access/transam/xlogarchive.c b/src/backend/access/transam/xlogarchive.c index 26b023e754..7d56dad0de 100644 --- a/src/backend/access/transam/xlogarchive.c +++ b/src/backend/access/transam/xlogarchive.c @@ -498,11 +498,13 @@ XLogArchiveNotify(const char *xlog) * Convenience routine to notify using segment number representation of filename */ void -XLogArchiveNotifySeg(XLogSegNo segno) +XLogArchiveNotifySeg(XLogSegNo segno, TimeLineID tli) { char xlog[MAXFNAMELEN]; - XLogFileName(xlog, ThisTimeLineID, segno, wal_segment_size); + Assert(tli != 0); + + XLogFileName(xlog, tli, segno, wal_segment_size); XLogArchiveNotify(xlog); } diff --git a/src/include/access/xlogarchive.h b/src/include/access/xlogarchive.h index 3edd1a976c..7dcf1bd2dd 100644 --- a/src/include/access/xlogarchive.h +++ b/src/include/access/xlogarchive.h @@ -24,7 +24,7 @@ extern void ExecuteRecoveryCommand(const char *command, const char *commandName, bool failOnSignal); extern void KeepFileRestoredFromArchive(const char *path, const char *xlogfname); extern void XLogArchiveNotify(const char *xlog); -extern void XLogArchiveNotifySeg(XLogSegNo segno); +extern void XLogArchiveNotifySeg(XLogSegNo segno, TimeLineID tli); extern void XLogArchiveForceDone(const char *xlog); extern bool XLogArchiveCheckDone(const char *xlog); extern bool XLogArchiveIsBusy(const char *xlog); -- 2.30.2