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