On 01.02.2018 19:06, Peter Eisentraut wrote:
> On 1/12/18 10:43, Aleksander Alekseev wrote:
>> The following review has been posted through the commitfest application:
>> make installcheck-world: tested, passed
>> Implements feature: tested, passed
>> Spec compliant: tested, passed
>> Documentation: tested, passed
>>
>> LGTM.
>>
>> The new status of this patch is: Ready for Committer
> I've been working on polishing this a bit. I'll keep working on it. It
> should be ready to commit soon.
Hi.
I have reviewed this patch. Attached new 6th version of the patch with
v5-v6 delta-patch.
* Added out of memory checks after the following function calls:
- PyList_New()
- PyDict_New()
- PyString_FromStringAndSize() (added PyString_FromJsonbValue())
* Added Py_XDECREF() for key-value pairs and list elements after theirs
appending because PyDict_SetItem() and PyList_Append() do not steal
references (see also hstore_plpython code).
* Removed unnecessary JsonbValue heap-allocations in PyObject_ToJsonbValue().
* Added iterating to the end of iterator in PyObject_FromJsonb() for correct
freeing of JsonbIterators.
* Passed JsonbParseState ** to PyXxx_ToJsonbValue() functions.
* Added transformation of Python tuples into JSON arrays because standard
Python JSONEncoder encoder does the same.
(See https://docs.python.org/2/library/json.html#py-to-json-table)
--
Nikita Glukhov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company