Abort pgbench if script end is reached with an open pipeline

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: 3fd36be52b70b95eea6fe7d296ce871f49eedb50
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2024-01-22T16:48:30Z
Releases: 15.6
Abort pgbench if script end is reached with an open pipeline

When a pipeline is opened with \startpipeline and not closed, pgbench
will either error on the next transaction with a "already in pipeline
mode" error or successfully end if this was the last transaction --
despite not sending anything that was piped in the pipeline.

Make it an error to reach end of script is reached while there's an
open pipeline.

Backpatch to 14, where pgbench got support for pipelines.

Author: Anthonin Bonnefoy <anthonin.bonnefoy@datadoghq.com>
Reported-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/Za4IObZkDjrO4TcS@paquier.xyz

Files

PathChange+/−
src/bin/pgbench/pgbench.c modified +13 −2
src/bin/pgbench/t/001_pgbench_with_server.pl modified +28 −0

Discussion