aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2024-08-08 10:20:25 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2024-08-08 10:22:49 +0300
commite8240dbd86f70e268ebda57c07eb98bd80a4e6f0 (patch)
tree53d21ab59600a8aa9267e0472a7954d1089852ba /src
parentee2997c678d86568328f0221717676f86b8aa6f6 (diff)
downloadpostgresql-e8240dbd86f70e268ebda57c07eb98bd80a4e6f0.tar.gz
postgresql-e8240dbd86f70e268ebda57c07eb98bd80a4e6f0.zip
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
Diffstat (limited to 'src')
-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 f7f3b8227fd..53110e0f4bf 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -873,6 +873,7 @@ getTimelineHistory(TimeLineID tli, bool is_source, int *nentries)
pg_free(histfile);
}
+ /* In debugging mode, print what we read */
if (debug)
{
int i;
@@ -882,10 +883,7 @@ getTimelineHistory(TimeLineID tli, bool is_source, int *nentries)
else
pg_log_debug("Target timeline history:");
- /*
- * Print the target timeline history.
- */
- for (i = 0; i < targetNentries; i++)
+ for (i = 0; i < *nentries; i++)
{
TimeLineHistoryEntry *entry;