Re: Request for comment on setting binary format output per session

From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: Jeff Davis <pgsql(at)j-davis(dot)com>
Cc: Dave Cramer <davecramer(at)gmail(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Request for comment on setting binary format output per session
Date: 2023-03-30 12:06:48
Message-ID: CAHyXU0xB5KC=2uFeX54taWdb5bwYAxrBcCU2VpYLMP52P_PhcQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Mar 29, 2023 at 11:04 AM Jeff Davis <pgsql(at)j-davis(dot)com> wrote:

> I'm not clear on what proposal you are making and/or endorsing?
>

ha -- was just backing up dave's GUC idea.

> 1. Fix our own clients, like psql, to check for binary data they can't
> process.
>

This ought to be impossible IMO. All libpq routines except PQexec have an
explicit expectation on format (via resultformat parameter) that should not
be overridden. PQexec ought to be explicitly documented and wired to only
request text format data.

resultfomat can be extended now or later to allow participating clients to
receive GUC configured format. I do not think that libpq's result format
being able to be overridden by GUC is a good idea at all, the library has
to to participate, and I think can be made to so so without adjusting the
interface (say, by resultFormat = 3). Similarly, in JDBC world, it ought
to be up to the driver to determine when it want the server to flex wire
formats but must be able to override the server's decision.

merlin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nikita Malakhov 2023-03-30 12:16:39 Re: JsonPath version bits
Previous Message vignesh C 2023-03-30 11:08:56 Re: Support logical replication of DDLs