postgres.git / summary / log / commit / refs
commit 8b86e289f7f0db1b1b95c33c880c26393ecd414e
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Thu Aug 08 07:20:25 2024 +0000
First released in: 18.0, 12.21, 13.17, 14.14, 15.9, 16.5, 17.0
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 2a18f675c84..5b1b3e62cce 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -578,6 +578,7 @@ getTimelineHistory(ControlFileData *controlFile, int *nentries)
pg_free(histfile);
}
+ /* In debugging mode, print what we read */
if (debug)
{
int i;
@@ -589,10 +590,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: 646b16bcafea]