Hi! On Fri, Jun 15, 2018 at 2:11 PM Nikita Glukhov <n.glu...@postgrespro.ru> wrote: > > 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.
I'm going to check and commit this if everything is OK. ------ Alexander Korotkov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company