Re: Pipeline mode and PQpipelineSync()

From: Boris Kolpackov <boris(at)codesynthesis(dot)com>
To: Alvaro Herrera <alvaro(dot)herrera(at)2ndquadrant(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: Pipeline mode and PQpipelineSync()
Date: 2021-06-23 11:03:52
Message-ID: boris.20210623125826@codesynthesis.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvaro(dot)herrera(at)2ndquadrant(dot)com> writes:

> On 2021-Jun-22, Alvaro Herrera wrote:
>
> > > So I think it would be useful to clarify the server behavior and
> > > specify it in the documentation.
> >
> > I'll see about improving the docs on these points.
>
> So I started to modify the second paragraph to indicate that the client
> would send data on PQflush/buffer full/PQpipelineSync, only to realize
> that the first paragraph already explains this. So I'm not sure if any
> changes are needed.
>
> Maybe your complaint is only based on disagreement about what does libpq
> do regarding queueing commands; and as far as I can tell in quick
> experimentation with libpq, it works as the docs state already.

I think one change that is definitely needed is to make it clear that
the PQpipelineSync() call is not optional.

I would also add a note saying that while the server starts processing
the pipeline immediately, it may buffer the results and the only way
to flush them out is to call PQpipelineSync().

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ranier Vilela 2021-06-23 11:56:06 Re: Assertion failure in HEAD and 13 after calling COMMIT in a stored proc
Previous Message Ajin Cherian 2021-06-23 10:40:46 Re: [HACKERS] logical decoding of two-phase transactions