Re: BUG #19494: Error on transaction commit inside pipeline triggers psql's Assert
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: exclusion@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2026-05-28T05:26:06Z
Lists: pgsql-bugs
Attachments
- 0001-psql-Fix-failures-with-deferred-errors-in-pipelines.patch (text/plain) patch 0001
On Thu, May 28, 2026 at 12:51:38PM +0900, Michael Paquier wrote: > I am completely sure yet, but it looks like we will need to be smarter > with the handling of the number of piped commands by tracking them > across the syncs in the shape of a queue, or something like that? So > it feels like we need to think harder about the tracking of this > activity depending on the state of the pipeline we're in. Or we could > lift some of these assertions, but that would not be right to me. Hmm. Taking a step back this would be overcomplicating things. As long as we are careful to consume the synced results still in a pipeline, it looks like we should be fine. While digging into it, I have found a third assertion that was triggerable with available_results at the end of the pipeline, once I began mixing \getresults with a deferred error. This stuff is tricky enough that I may not have overseen all the patterns possible, of course, at least this is progress. Alexander, what do you think? -- Michael
Commits
-
psql: Fix issues with deferred errors in pipelines
- 1e9bc4074beb 18 (unreleased) landed
- d21604e17e49 19 (unreleased) landed