Make PQgetResult() not return NULL on out-of-memory error

Поиск
Список
Период
Сортировка
От Yugo Nagata
Тема Make PQgetResult() not return NULL on out-of-memory error
Дата
Msg-id 20251111020701.807f7e9b45c18e8b09ac1d88@sraoss.co.jp
обсуждение исходный текст
Ответы Re: Make PQgetResult() not return NULL on out-of-memory error
Список pgsql-hackers
Hi,

Currently, PQgetResult() returns NULL not only when no results remain for
a sent query, but also when an out-of-memory error occurs, except when
PGconn itself is NULL. As a result, users cannot distinguish between query
completion and an out-of-memory error when PQgetResult() returns NULL.

The result returned by PQgetResult() is generated by either pqPipelineProcessQueue()
or getCopyResult(). While pqPipelineProcessQueue() never returns NULL, even in the
case of an out-of-memory error, getCopyResult() may return NULL.
Therefore, I propose modifying getCopyResult() so that it never returns NULL, but
instead returns OOM_result, as pqPipelineProcessQueue() does.

I’ve attached a patch for this.

Regards,
Yugo Nagata

-- 
Yugo Nagata <nagata@sraoss.co.jp>

Вложения

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