Re: to_json(NULL) should to return JSON null instead NULL - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: to_json(NULL) should to return JSON null instead NULL
Date
Msg-id 55E1B393.1070608@dunslane.net
Whole thread Raw
In response to Re: to_json(NULL) should to return JSON null instead NULL  ("Shulgin, Oleksandr" <oleksandr.shulgin@zalando.de>)
Responses Re: to_json(NULL) should to return JSON null instead NULL  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On 08/29/2015 08:47 AM, Shulgin, Oleksandr wrote:
> On Sat, Aug 29, 2015 at 8:39 AM, Pavel Stehule
> <pavel.stehule@gmail.com <mailto:pavel.stehule@gmail.com>> wrote:
>
>     Hi
>
>     currently JSON support NULL value - but we doesn't convert NULL to
>     JSON correctly
>
>     postgres=# select to_json(NULL::text) IS NULL;
>     ┌──────────┐
>     │ ?column? │
>     ╞══════════╡
>     │ t        │
>     └──────────┘
>     (1 row)
>
>     probably should be json "null";
>
>     like
>
>     postgres=# select json 'null' is null;
>     ┌──────────┐
>     │ ?column? │
>     ╞══════════╡
>     │ f        │
>     └──────────┘
>     (1 row)
>
>
> I agree that for correctness reasons it should, but just don't think
> it would be OK to change this behavior -- the function was there since
> 9.3...
>
> Given there were no loud complaints about this, the current behavior
> is appropriate for most users, the rest can still work around using
> coalesce(to_json(...), json 'null').
>
>


I don't think it's necessarily more correct. But I do agree that it's
not a good idea to change the behaviour unless there is major
unhappiness with it.

cheers

andrew




pgsql-hackers by date:

Previous
From: "Shulgin, Oleksandr"
Date:
Subject: Re: Proposal: Implement failover on libpq connect level.
Next
From: Christoph Berg
Date:
Subject: Re: 9.4 broken on alpha