Re: Add Pipelining support in psql
Michael Paquier <michael@paquier.xyz>
On Tue, Mar 04, 2025 at 10:31:46AM +0100, Anthonin Bonnefoy wrote: > Saving the printQueryOpt when a command is pushed was an option I had > in mind if that was straightforward to implement. However, even with > savePsetInfo, you will need to save values like gfname and gset_prefix > since it impacts the output (it may make sense to move those in > printQueryOpt). This would also need to be saved for all commands, > like \close or \parse since we don't distinguish if a piped command > generates an output or not. So that definitely looks like it would add > a lot of complexity for limited benefit. Yeah, same opinion here. I don't want this level of complexity with extra manipulations of printQueryOpt when fetching the results, either. I'm all for making these meta-commands to what we think is more natural, but not at the cost of a more complex logic in the result printing depending on what's been given by a meta-command when a query is pushed to a pipeline. > I took a stab at creating the \sendpipeline meta-command. I've also > realised there's a small leak where fname is currently not freed on > queries like 'select ... \bind \gx filename' when within a pipeline, > which is fixed in patch 0001. Indeed. Fixed this one for now. -- 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