libpq: pipeline mode might desynchronize client and server

Поиск
Список
Период
Сортировка
От Ivan Trofimov
Тема libpq: pipeline mode might desynchronize client and server
Дата
Msg-id 1efe6f16-30f1-8dd2-7d5a-a6acc4203cc1@yandex.ru
обсуждение исходный текст
Ответы Re: libpq: pipeline mode might desynchronize client and server  (Michael Paquier <michael@paquier.xyz>)
Список pgsql-bugs
Hi!

This is a follow up on 
https://www.postgresql.org/message-id/17948-fcace7557e449957@postgresql.org.

Libpq in pipeline mode considers '< 2TDCEZ' a sufficient response to
'> BDESS', when according to specification one more 'Z' is expected.
This leads to client <-> server desynchronization, when libpq parses the 
very next message server sends (which is Z, as expected).

A bit more context and a MRE: 
https://github.com/itrofimow/libpq_protocol_desync

I'm pretty sure that this branch 
https://github.com/postgres/postgres/blob/3af101ce8be8eeb0e8adc61e293b5d12989f68be/src/interfaces/libpq/fe-exec.c#L2124

should be adjusted to handle the case and do not match error response 
against sync query.



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: ERROR: value out of range: underflow in numeric log calculation
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: [BUGS] \copy produces CSV output that cannot be read by \copy