Re: Add PQsendSyncMessage() to libpq - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: Add PQsendSyncMessage() to libpq
Date
Msg-id ZaX4xtwfSelqP5KQ@paquier.xyz
Whole thread Raw
In response to Re: Add PQsendSyncMessage() to libpq  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: Add PQsendSyncMessage() to libpq
List pgsql-hackers
On Mon, Jan 15, 2024 at 10:49:56AM +0100, Alvaro Herrera wrote:
> the new function pqPipelineSyncInternal is not a wrapper for these other
> two functions -- the opposite is true actually.  We tend to use the term
> "workhorse" or "internal workhorse" for this kind of thing.

Indeed, makes sense.

> In the docs, after this patch we have
>
> - PQpipelineSync
> - PQsendFlushRequest
> - PQsendPipelineSync
>
> Wouldn't it make more sense to add the new function in the middle of the
> two existing ones instead?

Ordering PQsendPipelineSync just after PQpipelineSync is OK by me.
I've applied the patch with all these modifications to move on with
the subject.

> Looking again at the largish comment that's now atop
> pqPipelineSyncInternal(), I think most of it should be removed -- these
> things should be explained in the SGML docs, and I think they are, in
> the "Using Pipeline Mode" section.  We can just have the lines this
> patch is adding.

Hmm.  The first two sentences about being able to submit more commands
to the pipeline are documented in the subsection "Issuing Queries".
The third sentence is implied in the second paragraph of this
subsection.  The 4th paragraph of the comment where sync commands
cannot be issued until all the results from the pipeline have been
consumed is mentioned in the first paragraph in "Using Pipeline Mode".
So you are right that this could be entirely removed.

How about the attached to remove all that, then?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Revise the Asserts added to bimapset manipulation functions
Next
From: David Rowley
Date:
Subject: Strange Bitmapset manipulation in DiscreteKnapsack()