Fix pg_rewind debug output to print the source timeline history

getTimelineHistory() is called twice, to read the source and the
target timeline history files. However, the loop to print the file
with the --debug option used the wrong variable when dealing with the
source. As a result, the source's history was always printed as empty.

Spotted while debugging bug #18575, but this does not fix that bug,
just the debugging output. Backpatch to all supported versions.

Discussion: https://www.postgresql.org/message-id/092dd515-b7b4-4fd0-8407-ceca2f02f6ec@iki.fi
This commit is contained in:
Heikki Linnakangas 2024-08-08 10:20:25 +03:00
parent 2de129b356
commit b5a5027c97
1 changed files with 2 additions and 4 deletions

View File

@ -837,6 +837,7 @@ getTimelineHistory(ControlFileData *controlFile, int *nentries)
pg_free(histfile);
}
/* In debugging mode, print what we read */
if (debug)
{
int i;
@ -848,10 +849,7 @@ getTimelineHistory(ControlFileData *controlFile, int *nentries)
else
Assert(false);
/*
* Print the target timeline history.
*/
for (i = 0; i < targetNentries; i++)
for (i = 0; i < *nentries; i++)
{
TimeLineHistoryEntry *entry;