Re: Regression in pipeline mode in libpq 14.5

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Regression in pipeline mode in libpq 14.5
Дата
Msg-id 20220915162023.6psky22qdhi5xvwf@alvherre.pgsql
обсуждение исходный текст
Ответ на Regression in pipeline mode in libpq 14.5  (Daniele Varrazzo <daniele.varrazzo@gmail.com>)
Ответы Re: Regression in pipeline mode in libpq 14.5  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Список pgsql-bugs
On 2022-Aug-14, Daniele Varrazzo wrote:

> I believe that pipeline mode was broken in libpq 14.5, likely after
> the refactoring performed to solve the problem of the unexpected Close
> messages sent on PQexecQuery [1].

So I've spent a lot of time trying to understand what is going on here,
and my impression is that this stuff is thoroughly broken, and I don't
know how to fix it.  So I propose to rip it out -- specifically: make it
an error to call PQsendQuery when in pipeline mode.  PQsendQueryParams
can be used instead, and all is well.  The problem is that that the
CloseComplete message remains a mess, and the hack I added made things
worse, or maybe it just moved the mess elsewhere.

More specifically, I propose to remove its handling from 15 and master;
but leave it in place in 14, to avoid breaking things in a minor release
if somebody is already using it and they haven't run into this
particular bug.

This should be OK for psycopg, since Daniele said he already stopped
using PQsendQuery in pipeline mode.

PS: it's quite likely that there *is* a way to fix it, if we're OK with
more coupling between fe-exec (PQgetResult) and fe-protocol3
(parseInput3).  But we probably don't want that and I don't want to
spend more time figuring out exactly how.

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: unexpected results when attempting to define and use column with data type SERIAL
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #17615: Getting error while inserting records in the table: invalid byte sequence for encoding "UTF8": 0xae