Pipeline mode disallows multicommand strings

... so mention that in appropriate places of the libpq docs.

Backpatch to 14.

Reported-by: RekGRpth <rekgrpth@gmail.com>
Discussion: https://postgr.es/m/17235-53bb38fc5be593dc@postgresql.org
This commit is contained in:
Alvaro Herrera 2021-11-05 11:40:03 -03:00
parent e543906e21
commit 105c1de019
No known key found for this signature in database
GPG Key ID: 1C20ACB9D5C564AE
1 changed files with 7 additions and 1 deletions

View File

@ -4594,6 +4594,11 @@ int PQsendQuery(PGconn *conn, const char *command);
(on the same connection) until <xref linkend="libpq-PQgetResult"/>
has returned a null pointer, indicating that the command is done.
</para>
<para>
In pipeline mode, command strings containing more than one SQL command
are disallowed.
</para>
</listitem>
</varlistentry>
@ -5046,7 +5051,8 @@ int PQflush(PGconn *conn);
<xref linkend="libpq-PQpipelineStatus"/> can be used
to test whether pipeline mode is active.
In pipeline mode, only <link linkend="libpq-async">asynchronous operations</link>
are permitted, and <literal>COPY</literal> is disallowed.
are permitted, command strings containing multiple SQL commands are
disallowed, and so is <literal>COPY</literal>.
Using synchronous command execution functions
such as <function>PQfn</function>,
<function>PQexec</function>,