pgsql: libpq: Add support for Close on portals and statements

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: libpq: Add support for Close on portals and statements
Date: 2023-07-04 05:48:24
Message-ID: E1qGYtk-001pM8-6G@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

libpq: Add support for Close on portals and statements

The following routines are added to libpq:
PGresult *PQclosePrepared(PGconn *conn, const char *stmt);
PGresult *PQclosePortal(PGconn *conn, const char *portal);
int PQsendClosePrepared(PGconn *conn, const char *stmt);
int PQsendClosePortal(PGconn *conn, const char *portal);

The "send" routines are non-blocking versions of the two others.

Close messages are part of the protocol but they did not have a libpq
implementation. And, having these routines is for instance useful with
connection poolers as these can detect more easily Close messages
than DEALLOCATE queries.

The implementation takes advantage of what the Describe routines rely on
for portals and statements. Some regression tests are added in
libpq_pipeline, for the four new routines, by closing portals and
statements created already by the tests.

Author: Jelte Fennema
Reviewed-by: Jian He, Michael Paquier
Discussion: https://postgr.es/m/CAGECzQTb4xFAopAVokudB+L62Kt44mNAL4Z9zZ7UTrs1TRFvWA@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/28b5726561841556dc3e00ffe26b01a8107ee654

Modified Files
--------------
doc/src/sgml/libpq.sgml | 125 +++++++++++++++++++--
src/interfaces/libpq/exports.txt | 4 +
src/interfaces/libpq/fe-exec.c | 124 ++++++++++++++++----
src/interfaces/libpq/fe-protocol3.c | 19 +++-
src/interfaces/libpq/libpq-fe.h | 6 +
src/interfaces/libpq/libpq-int.h | 2 +-
src/test/modules/libpq_pipeline/libpq_pipeline.c | 65 +++++++++++
.../modules/libpq_pipeline/traces/prepared.trace | 24 ++++
8 files changed, 337 insertions(+), 32 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2023-07-04 09:33:50 pgsql: Adjust kerberos and ldap tests for Homebrew on ARM
Previous Message Noah Misch 2023-07-04 05:19:43 Re: pgsql: Fix search_path to a safe value during maintenance operations.