Re: Add Pipelining support in psql
Michael Paquier <michael@paquier.xyz>
On Mon, Apr 21, 2025 at 03:22:28PM +0900, Michael Paquier wrote: > Anyway, I don't think that there is much we can do under a > PGRES_FATAL_ERROR in this code path when discarding the pipe results. > As far as I can tell, the server has failed the query suddenly and the > whole pipeline flow is borked. The best thing that I can think of is > to discard all the results while decrementing the counters, then let > psql complain about that like in the attached. I've added two tests > in TAP, as these trigger a FATAL in the backend so we cannot use the > normal SQL route, so as we have some coverage. > > @Anthonin: Any thoughts or comments, perhaps? A second opinion would > be welcome here. While considering more ways to test this patch, I've recalled that injection points that issue a FATAL in the backend to emulate the original failure with more query patterns can provide more coverage, and the discard cleanup is showing stable enough as presented in the patch. I am wondering if we could not be smarter with the handling of the counters, but I really doubt that there is much more we can do under a PGRES_FATAL_ERROR. -- Michael
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
psql: Fix assertion failures with pipeline mode
- 3631612eae9c 18.0 landed
-
psql: Rework TAP routine psql_fails_like() to define WAL sender context
- 0ff95e0a5be1 18.0 landed
-
psql: Split extended query protocol meta-commands in --help=commands
- 78231baaf967 18.0 landed
-
psql: Improve descriptions of \\flush[request] in --help
- 5743d122fcf3 18.0 landed
-
psql: Fix incorrect status code returned by \getresults
- 5ee7bd944ee8 18.0 landed
-
psql: Allow queries terminated by semicolons while in pipeline mode
- 2cce0fe440fb 18.0 landed
-
psql: Add \sendpipeline to send query buffers while in a pipeline
- 17caf6644546 18.0 landed
-
psql: Fix memory leak with \gx used within a pipeline
- 54d23601b978 18.0 landed
-
psql: Add pipeline status to prompt and some state variables
- 3ce357584e79 18.0 landed
-
Add more tests for utility commands in pipelines
- a4e986ef5a46 18.0 landed
-
psql: Add support for pipelines
- 41625ab8ea3d 18.0 landed
-
Add braces for if block with large comment in psql's common.c
- 40af897eb777 18.0 landed