postgres.git / summary / log / commit / refs

commit    bb5592caceded690451869ac098b55dbb2142dfc
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Thu Aug 08 07:20:25 2024 +0000

    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


src/bin/pg_rewind/pg_rewind.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c index 2ac4910778b..1ec63e78ec8 100644 --- a/src/bin/pg_rewind/pg_rewind.c +++ b/src/bin/pg_rewind/pg_rewind.c @@ -838,6 +838,7 @@ getTimelineHistory(ControlFileData *controlFile, int *nentries) pg_free(histfile); } + /* In debugging mode, print what we read */ if (debug) { int i; @@ -849,10 +850,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; [parent: 3557185538fe]