Remove PQsendQuery support in pipeline mode
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 23 Sep 2022 16:21:22 +0000 (18:21 +0200)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 23 Sep 2022 16:21:22 +0000 (18:21 +0200)
commit0032a5456708811ca95bd80a538f4fb72ad0dd20
tree0f9578f369e26b1dea267ff9e1c94525bbef325e
parentd11a41a4ce79660d1a1c5f81b051061717099a9f
Remove PQsendQuery support in pipeline mode

The extended query protocol implementation I added in commit
acb7e4eb6b1c has bugs when used in pipeline mode.  Rather than spend
more time trying to fix it, remove that code and make the function rely
on simple query protocol only, meaning it can no longer be used in
pipeline mode.

Users can easily change their applications to use PQsendQueryParams
instead.  We leave PQsendQuery in place for Postgres 14, just in case
somebody is using it and has not hit the mentioned bugs; but we should
recommend that it not be used.

Backpatch to 15.

Per bug report from Gabriele Varrazzo.
Discussion: https://postgr.es/m/CA+mi_8ZGSQNmW6-mk_iSR4JZB_LJ4ww3suOF+1vGNs3MrLsv4g@mail.gmail.com
doc/src/sgml/libpq.sgml
src/interfaces/libpq/fe-exec.c
src/interfaces/libpq/fe-protocol3.c
src/test/modules/libpq_pipeline/libpq_pipeline.c