summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeikki Linnakangas2024-08-08 07:20:25 +0000
committerHeikki Linnakangas2024-08-08 07:22:04 +0000
commit8b86e289f7f0db1b1b95c33c880c26393ecd414e (patch)
tree6a7e713a026d4440f708af83d39135785b67ee1c
parent646b16bcafeaa98d7a085ccf4bef11dfc0999fb8 (diff)
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
-rw-r--r--src/bin/pg_rewind/pg_rewind.c6
1 files 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;