Re: Add Pipelining support in psql
Michael Paquier <michael@paquier.xyz>
On Mon, Mar 17, 2025 at 10:50:50AM +0100, Anthonin Bonnefoy wrote: > 0001: This introduces the \sendpipeline meta-command and forbid \g in > a pipeline. This is to fix the formatting options of \g that are not > supported in a pipeline. - count -------- - 4 -(1 row) This removal done in the regression tests was not intentional. I have done some reordering of the code around the new meta-command so as things are ordered alphabetically, and applied the result. > 0002: Allows ';' to send a query using extended protocol when within a > pipeline by using PQsendQueryParams with 0 parameters. It is not > possible to send parameters with extended protocol this way and > everything will be propagated through the query string, similar to a > simple query. I like the simplicity of what you are doing here, relying on PSQL_SEND_QUERY being the default so as we use PQsendQueryParams() with no parameters rather than PQsendQuery() when the pipeline mode is not off. How about adding a check on PIPELINE_COMMAND_COUNT when sending a query through this path? Should we check for more scenarios with syncs and flushes as well when sending these queries? -- 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