xlogfuncs.c: Use GetCurrentTimeLineID() instead of ThisTimeLineID.
authorRobert Haas <[email protected]>
Fri, 29 Oct 2021 17:23:11 +0000 (13:23 -0400)
committerRobert Haas <[email protected]>
Fri, 29 Oct 2021 17:38:50 +0000 (13:38 -0400)
The value can't be changing concurrently, because these functions
can't be run during recovery. So there's no problem.

src/backend/access/transam/xlogfuncs.c

index 5bebcc50dde3b63f1e0cc663fb1bede56b78f87a..2b1c598bc6ed8a2ded50b82f5a4dff4d384c99b9 100644 (file)
@@ -469,7 +469,8 @@ pg_walfile_name_offset(PG_FUNCTION_ARGS)
         * xlogfilename
         */
        XLByteToPrevSeg(locationpoint, xlogsegno, wal_segment_size);
-       XLogFileName(xlogfilename, ThisTimeLineID, xlogsegno, wal_segment_size);
+       XLogFileName(xlogfilename, GetCurrentTimeLineID(), xlogsegno,
+                                wal_segment_size);
 
        values[0] = CStringGetTextDatum(xlogfilename);
        isnull[0] = false;
@@ -511,7 +512,8 @@ pg_walfile_name(PG_FUNCTION_ARGS)
                                                 "pg_walfile_name()")));
 
        XLByteToPrevSeg(locationpoint, xlogsegno, wal_segment_size);
-       XLogFileName(xlogfilename, ThisTimeLineID, xlogsegno, wal_segment_size);
+       XLogFileName(xlogfilename, GetCurrentTimeLineID(), xlogsegno,
+                                wal_segment_size);
 
        PG_RETURN_TEXT_P(cstring_to_text(xlogfilename));
 }