pgsql: libpq: drop pending pipelined commands in pqDropConnection().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: libpq: drop pending pipelined commands in pqDropConnection().
Date: 2022-05-12 17:08:46
Message-ID: E1npCIw-000NDE-0P@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

libpq: drop pending pipelined commands in pqDropConnection().

The original coding did this in pqDropServerData(), which seems
fairly backwards. Pending commands are more like already-queued
output data, which is dropped in pqDropConnection(). Moving the
operation means that we clear the command queue immediately upon
detecting connection drop, which improves the sanity of subsequent
behavior. In particular this eliminates duplicated error message
text as a consequence of code added in b15f25446, which supposed
that a nonempty command queue must mean the prior operation is
still active.

There might be an argument for backpatching this to v14; but as with
b15f25446, I'm unsure about interactions with 618c16707. For now,
given the lack of complaints about v14's behavior, leave it alone.

Per report from Peter Eisentraut.

Discussion: https://postgr.es/m/de57761c-b99b-3435-b0a6-474c72b1149a@enterprisedb.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/93909599cdba64c8759d646983c0a4ef93de1e50

Modified Files
--------------
src/interfaces/libpq/fe-connect.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2022-05-12 19:17:47 pgsql: Pre-beta mechanical code beautification.
Previous Message Andres Freund 2022-05-12 16:14:49 pgsql: Mark a few 'bbsink' related functions / variables static.