Re: Memory leak on hashed agg rescan

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Memory leak on hashed agg rescan
Дата
Msg-id 10455.1224160007@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Memory leak on hashed agg rescan  ("Neil Conway" <neil.conway@gmail.com>)
Ответы Re: Memory leak on hashed agg rescan  ("Neil Conway" <neil.conway@gmail.com>)
Список pgsql-hackers
"Neil Conway" <neil.conway@gmail.com> writes:
> I noticed a minor leak in the per-query context when ExecReScanAgg()
> is called for a hashed aggregate. During rescan, build_hash_table() is
> called to create a new empty hash table in the aggcontext. However,
> build_hash_table() also constructs the "hash_needed" column list in
> the per-query context, so repeated calls of build_hash_table() result
> in leaking this memory for the duration of the query.

> Attached is a patch that fixes this by only constructing "hash_needed"
> if it doesn't already exist. I also bms_free'd the temporary BMS that
> is created, although that's pretty harmless.

It would probably be cleaner to take that logic out of build_hash_table
altogether, and put it in a separate function to be called by
ExecInitAgg.
        regards, tom lane


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

Предыдущее
От: KaiGai Kohei
Дата:
Сообщение: Re: Updates of SE-PostgreSQL 8.4devel patches
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: Deriving Recovery Snapshots