From 176f6590270c8e59e5d68b339bace9d8696d4047 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 17 Oct 2018 15:06:38 -0400 Subject: [PATCH] Fix minor bug in isolationtester. If the lock wait query failed, isolationtester would report the PQerrorMessage from some other connection, meaning there would be no message or an unrelated one. This seems like a pretty unlikely occurrence, but if it did happen, this bug could make it really difficult/confusing to figure out what happened. That seems to justify patching all the way back. In passing, clean up another place where the "wrong" conn was used for an error report. That one's not actually buggy because it's a different alias for the same connection, but it's still confusing to the reader. --- src/test/isolation/isolationtester.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c index 18e1445d81c..4660cb48c61 100644 --- a/src/test/isolation/isolationtester.c +++ b/src/test/isolation/isolationtester.c @@ -600,7 +600,7 @@ run_permutation(TestSpec *testspec, int nsteps, Step **steps) if (!PQsendQuery(conn, step->sql)) { fprintf(stdout, "failed to send query for step %s: %s\n", - step->name, PQerrorMessage(conns[1 + step->session])); + step->name, PQerrorMessage(conn)); exit_nicely(); } @@ -728,7 +728,7 @@ try_complete_step(Step *step, int flags) if (PQresultStatus(res) != PGRES_TUPLES_OK) { fprintf(stderr, "lock wait query failed: %s", - PQerrorMessage(conn)); + PQerrorMessage(conns[0])); exit_nicely(); } ntuples = PQntuples(res); -- 2.39.5