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
|
Список | 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 по дате отправления: