aboutsummaryrefslogtreecommitdiff
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:20:25 +0300
commit49dc191bd1ae30180597c33e7f75a9950b896ccc (patch)
tree2f118019729c3c2085ea192920f7759151eaff36
parente56ccc8e4204d9faf86f3bd2e435a0788b3d0429 (diff)
downloadpostgresql-49dc191bd1ae30180597c33e7f75a9950b896ccc.tar.gz
postgresql-49dc191bd1ae30180597c33e7f75a9950b896ccc.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
-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 0841ab4135b..323c35646c9 100644
--- a/src/bin/pg_rewind/pg_rewind.c
+++ b/src/bin/pg_rewind/pg_rewind.c
@@ -882,6 +882,7 @@ getTimelineHistory(TimeLineID tli, bool is_source, int *nentries)
pg_free(histfile);
}
+ /* In debugging mode, print what we read */
if (debug)
{
int i;
@@ -891,10 +892,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;