pgsql: Fix intra-query memory leak when a SRF returns zero rows.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix intra-query memory leak when a SRF returns zero rows.
Дата
Msg-id E1qwngS-002nnM-5z@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix intra-query memory leak when a SRF returns zero rows.

When looping around after finding that the set-returning function
returned zero rows for the current input tuple, ExecProjectSet
neglected to reset either of the two memory contexts it's
responsible for cleaning out.  Typically this wouldn't cause much
problem, because once the SRF does return at least one row, the
contexts would get reset on the next call.  However, if the SRF
returns no rows for many input tuples in succession, quite a lot
of memory could be transiently consumed.

To fix, make sure we reset both contexts while looping around.

Per bug #18172 from Sergei Kornilov.  Back-patch to all supported
branches.

Discussion: https://postgr.es/m/18172-9b8c5fc1d676ded3@postgresql.org

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/5d7515d7d1168a66a34aed7b9f2c9f4e2660e863

Modified Files
--------------
src/backend/executor/nodeProjectSet.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: pgsql: doc: add links to Postgres features intro
Следующее
От: Dean Rasheed
Дата:
Сообщение: pgsql: btree_gin: Fix calculation of leftmost interval value.