Re: PQexec() hangs on OOM

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: PQexec() hangs on OOM
Дата
Msg-id CAB7nPqQzyE8=8_NyTAJgJ05WLRfxOe-8CihsLQtomr9nExLkQw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PQexec() hangs on OOM  (Michael Paquier <michael.paquier@gmail.com>)
Список pgsql-bugs
On Tue, Sep 8, 2015 at 12:13 AM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Mon, Sep 7, 2015 at 10:41 PM, Michael Paquier wrote:
>> In any case, attached are two patches:
>> - 0001 adds the OOM/failure handling for the BIND and COPY start
>> messages. This time the connection is not dropped. After a failure,
>> successive commands work as well, this addresses the previous issue
>> you reported.
>> - 0002 is a cleanup bonus, getRowDescriptions and getAnotherTuple have
>> some dead code that I think would be better removed, those are
>> remnants from a copy/paste from the similar code of protocol 2.
>
> And I forgot... Attached is a simple program to test BIND messages.

And it occurred to me after sleeping on it that what I sent earlier is
not enough: in the case where the server has sent only a partial
message, we should not move into an error code path, but simply get
back into the loop of pqGetResult and wait for additional input from
the server. Attached are patches to fix that.
Regards,
--
Michael

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: PQexec() hangs on OOM
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: GRANT USAGE ON SEQUENCE missing from psql command completion