Re: strip nulls functions for json and jsonb

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: Thom Brown <thom(at)linux(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: strip nulls functions for json and jsonb
Date: 2014-10-27 10:05:11
Message-ID: CAFj8pRBcPPvft94-D8azv9m1Nr35hyq41_+omYb9ngHzTJxMpg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

I am sending a final review of this patch:

0. this patch implements null fields stripping. It does exactly what was
proposed and we would to have this feature in core. It is requested feature
for JSON types.

1. there is no problem with patch apply and with compilation - one warning
is fixed in attachments

2. code is relative small and clean, I have no any objection

3. there is necessary regress tests and related documentation.

I have no any objection - this patch is ready for commiter.

Thank you for patch

Regards

Pavel

2014-10-26 21:57 GMT+01:00 Andrew Dunstan <andrew(at)dunslane(dot)net>:

>
> On 10/26/2014 04:22 PM, Pavel Stehule wrote:
>
>>
>>
>> 2014-10-26 21:18 GMT+01:00 Andrew Dunstan <andrew(at)dunslane(dot)net <mailto:
>> andrew(at)dunslane(dot)net>>:
>>
>>
>> On 10/26/2014 04:14 PM, Thom Brown wrote:
>>
>> On 26 October 2014 20:07, Andrew Dunstan <andrew(at)dunslane(dot)net
>> <mailto:andrew(at)dunslane(dot)net> <mailto:andrew(at)dunslane(dot)net
>> <mailto:andrew(at)dunslane(dot)net>>> wrote:
>>
>>
>> On 10/26/2014 03:50 PM, Pavel Stehule wrote:
>>
>> Hi
>>
>> I have a question,
>>
>> what is expected result of null strip of
>>
>> {"a": {"b": null, "c", null"} }
>>
>> ?
>>
>>
>>
>> Please remember not to top-post.
>>
>> The above is not legal json, so the answer would be an error.
>>
>>
>> I believe Pavel means:
>>
>> {"a": {"b": null, "c": null} }
>>
>>
>> This is the expected result:
>>
>> andrew=# select json_strip_nulls('{"a": {"b": null, "c": null} }');
>> json_strip_nulls
>> ------------------
>> {"a":{}}
>> (1 row)
>>
>>
>> It is NOT expected that we replace an empty object with NULL (and
>> then strip it if it's a field value of an outer level object).
>>
>>
>> ok,
>>
>> This case should be in regress test probably
>>
>>
>>
> Patch attached.
>
> cheers
>
> andrew
>

Attachment Content-Type Size
jsonstripnulls5.patch text/x-patch 17.8 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Ali Akbar 2014-10-27 10:20:43 Re: Function array_agg(array)
Previous Message Heikki Linnakangas 2014-10-27 09:47:05 Re: proposal: CREATE DATABASE vs. (partial) CHECKPOINT