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  (Alexander Korotkov <a.korotkov@postgrespro.ru>)
Список 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 по дате отправления:

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: automating perl compile time checking
Следующее
От: David Rowley
Дата:
Сообщение: Re: Internal error XX000 with enable_partition_pruning=on, pg 11beta1 on Debian