postgres.git / summary / log / commit / refs
commit 83a7637e2c5be27a0788b920501dde284b3fca33
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun Feb 20 20:02:41 2022 +0000
First released in: 15.0
Reset conn->errorReported when PQrequestCancel sets errorMessage.
Oversight in commit 618c16707. This is mainly neatnik-ism, since
if PQrequestCancel is used per its API contract, we should perform
pqClearConnErrorState before reaching any place that would consult
errorReported. But still, it seems like a bad idea to potentially
leave errorReported pointing past errorMessage.len.
src/interfaces/libpq/fe-connect.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 2a3d68b4d14..1c5a2b43e99 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -4687,6 +4687,7 @@ PQrequestCancel(PGconn *conn)
"PQrequestCancel() -- connection is not open\n",
conn->errorMessage.maxlen);
conn->errorMessage.len = strlen(conn->errorMessage.data);
+ conn->errorReported = 0;
return false;
}
@@ -4706,7 +4707,10 @@ PQrequestCancel(PGconn *conn)
}
if (!r)
+ {
conn->errorMessage.len = strlen(conn->errorMessage.data);
+ conn->errorReported = 0;
+ }
return r;
}
[parent: 1c6d4629394d]