Re: PATCH: Batch/pipelining support for libpq
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Craig Ringer <craig@2ndquadrant.com>
Cc: David Steele <david@pgmasters.net>, Vaishnavi Prabakaran <vaishnaviprabakaran@gmail.com>,
Daniel Verite <daniel@manitou-mail.org>, "Prabakaran, Vaishnavi" <VaishnaviP@fast.au.fujitsu.com>,
Haribabu Kommi <kommi.haribabu@gmail.com>, "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>,
Dmitry Igrishin <dmitigr@gmail.com>, Andres Freund <andres@anarazel.de>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Manuel Kniep <m.kniep@web.de>, "fujita.etsuro@lab.ntt.co.jp" <fujita.etsuro@lab.ntt.co.jp>, "Iwata,
Aya" <iwata.aya@jp.fujitsu.com>
Date: 2017-03-27T07:26:12Z
Lists: pgsql-hackers
On Sat, Mar 25, 2017 at 9:50 PM, Craig Ringer <craig@2ndquadrant.com> wrote: > I'm fairly confident that I overlooked single row mode entirely in the > original patch, though it's long enough ago that it's hard for me to > remember exactly. > > I don't really have much of an opinion on the best handling of it. > > I would expect to be setting single-row mode just before I requested > the *result* from the next pending query, since it relates to result > processing rather than query dispatch. But that's about all the > opinion I have here. Yeah, I think that it makes sense to allow users to switch to single row mode before requesting a result in the queue. It seems to me that this should also be effective only during the fetching of one single result set. When the client moves on to the next item in the queue we should make necessary again a call to PQsetSingleRowMode(). Regarding the patch, I have spotted the following things in the last version: - src/test/modules/Makefile should include test_libpq. - Regression tests from 0002 are failing: ok 1 - testlibpqbatch disallowed_in_batch ok 2 - testlibpqbatch simple_batch ok 3 - testlibpqbatch multi_batch ok 4 - testlibpqbatch batch_abort ok 5 - testlibpqbatch timings not ok 6 - testlibpqbatch copyfailure -- Michael
Commits
-
Add libpq pipeline mode support to pgbench
- 9aa491abbf07 14.0 landed
-
Implement pipeline mode in libpq
- acb7e4eb6b1c 14.0 landed