Re: Jsonb transform for pl/python
От | Nikita Glukhov |
---|---|
Тема | Re: Jsonb transform for pl/python |
Дата | |
Msg-id | 6001af16-b242-2527-bc7e-84b8a959163b@postgrespro.ru обсуждение исходный текст |
Ответ на | Re: Jsonb transform for pl/python (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>) |
Ответы |
Re: Jsonb transform for pl/python
|
Список | pgsql-hackers |
On 28.03.2018 15:43, Peter Eisentraut wrote: > On 3/21/18 18:50, Peter Eisentraut wrote: >> On 3/12/18 11:26, Nikita Glukhov wrote: >>> I have reviewed this patch. Attached new 6th version of the patch with >>> v5-v6 delta-patch. >> Thanks for the update. I'm working on committing this. > Committed. > > Everything seemed to work well. I just did a bit of cosmetic cleanups. > I did a fair amount of tweaking on the naming of functions, the > extensions and library names, etc., to make it look like the existing > plpython transforms. I also changed it so that the transform would > support mappings and sequences other than dict and list. I removed the > non-ASCII test and the test with the huge numbers. I found a memory leak in PLySequence_ToJsonbValue(): PyObject returned from PySequence_GetItem() is not released. A bug can be easily reproduced using function roudtrip() from regression test: SELECT roundtrip('[1,2,3]'::jsonb) FROM generate_series(1, 1000000); Similar code in PLyMapping_ToJsonbValue() seems to be correct because PyList_GetItem() and PyTuple_GetItem() return a borrowed reference. Patch with fix is attached. -- Nikita Glukhov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company
Вложения
В списке pgsql-hackers по дате отправления: