git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e56ccc8)
Fix pg_rewind debug output to print the source timeline history
Thu, 8 Aug 2024 07:20:25 +0000 (10:20 +0300)
Thu, 8 Aug 2024 07:20:25 +0000 (10:20 +0300)
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


diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c
index 0841ab4135bcefa9f11607ad891ce009ca78d89f..323c35646c90deedd234a2c713bdd53b5b915230 100644 (file)
--- 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;
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /