Re: pl/python long-lived allocations in datum->dict transformation

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: pl/python long-lived allocations in datum->dict transformation
Дата
Msg-id 24229.1329004103@sss.pgh.pa.us
обсуждение исходный текст
Ответ на pl/python long-lived allocations in datum->dict transformation  (Jan Urbański <wulczer@wulczer.org>)
Ответы Re: pl/python long-lived allocations in datum->dict transformation  (Jan Urbański <wulczer@wulczer.org>)
Список pgsql-hackers
Jan Urbański <wulczer@wulczer.org> writes:
> This is annoying for functions that plough through large tables, doing
> some calculation. Attached is a patch that does the conversion of
> PostgreSQL Datums into Python dict objects in a scratch memory context
> that gets reset every time.

As best I can tell, this patch proposes creating a new, separate context
(chewing up 8KB+) for every plpython procedure that's ever used in a
given session.  This cure could easily be worse than the disease as far
as total space consumption is concerned.  What's more, it's unclear that
it won't malfunction altogether if the function is used recursively
(ie, what if PLyDict_FromTuple ends up calling the same function again?)
Can't you fix it so that the temp context is associated with a
particular function execution, rather than being "statically" allocated
per-function?
        regards, tom lane


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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: auto_explain produces invalid JSON
Следующее
От: Jeff Janes
Дата:
Сообщение: Re: random_page_cost vs seq_page_cost