pgsql: libpq: Add support for Close on portals and statements - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: libpq: Add support for Close on portals and statements
Date
Msg-id E1qGYtk-001pM8-6G@gemulon.postgresql.org
Whole thread Raw
List 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(-)


pgsql-committers by date:

Previous
From: Thomas Munro
Date:
Subject: pgsql: Re-bin segment when memory pages are freed.
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Adjust kerberos and ldap tests for Homebrew on ARM