BuildTupleFromCStrings Memory Documentation?

Поиск
Список
Период
Сортировка
От Jason Petersen
Тема BuildTupleFromCStrings Memory Documentation?
Дата
Msg-id 89951D0E-9628-4C3A-ABFD-1B6CB00FF4BE@citusdata.com
обсуждение исходный текст
Ответы Re: BuildTupleFromCStrings Memory Documentation?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Within the core codebase, BuildTupleFromCStrings is often called within a temporary memory context cleared after the call. In dblink.c, this is justified as being needed to “[clean up] not only the data we have direct access to, but any cruft the I/O functions might leak”.

I wrote a pretty minimal case to call BuildTupleFromCStrings in a loop (attached) and found that I was using 40GB of RAM in a few minutes, though I was not allocating any memory myself and immediately freed the tuple it returned.

Is the need to wrap this call in a protective context documented anywhere? Portions of the documentation use BuildTupleFromCStrings in examples without mentioning this precaution. Is it just well-known, or did I miss a README or comment somewhere?

--
Jason Petersen
Software Engineer | Citus Data
303.736.9255


Вложения

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

Предыдущее
От: Kohei KaiGai
Дата:
Сообщение: Re: One question about security label command
Следующее
От: Christian Ullrich
Дата:
Сообщение: Re: transforms vs. CLOBBER_CACHE_ALWAYS