Re: BUG #14849: jsonb_build_object doesn't like VARIADIC calls very much

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
Cc: Andrew Dunstan <andrew(dot)dunstan(at)2ndquadrant(dot)com>, Marko Tiikkaja <marko(at)joh(dot)to>, PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: BUG #14849: jsonb_build_object doesn't like VARIADIC calls very much
Date: 2017-10-13 13:48:09
Message-ID: CAB7nPqRDvken_V70kGXX3=9w4D9zM9-jj2gfg6pMyjpRzaSvPQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On Fri, Oct 13, 2017 at 10:15 PM, Michael Paquier
<michael(dot)paquier(at)gmail(dot)com> wrote:
> On Fri, Oct 13, 2017 at 9:46 PM, Dmitry Dolgov <9erthalion6(at)gmail(dot)com> wrote:
>> Shouldn't `jsonb_build_object` and `jsonb_build_array` be strict in this
>> patch?
>
> Oh, right. I thought that those were marked as strict already. Their
> type cannot be changed in back-branches, but can be on HEAD. While I
> agree that build_object should return NULL in this case, what about
> build_array? Should it return [NULL] (empty array), or just NULL? I
> would think the latter but this can be debated.

I take that back. STRICT means that the result would be NULL if any of
the argument is NULL, so your argument makes no real sense as it is
perfectly valid to have something like json_build_array('2', NULL) or
json_build_object('1', NULL), because there can be NULL values in JSON
strings. What we just need to be careful here is to check if the array
is NULL or not in a variadic call, and just return NULL in this case.
--
Michael

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Dmitry Dolgov 2017-10-13 13:56:45 Re: BUG #14849: jsonb_build_object doesn't like VARIADIC calls very much
Previous Message Michael Paquier 2017-10-13 13:15:04 Re: BUG #14849: jsonb_build_object doesn't like VARIADIC calls very much

Browse pgsql-hackers by date

  From Date Subject
Next Message Victor Drobny 2017-10-13 13:55:12 Re: new function for tsquery creartion
Previous Message Alexey Chernyshov 2017-10-13 13:37:32 Re: new function for tsquery creartion