Re: to_json(NULL) should to return JSON null instead NULL

From: "Shulgin, Oleksandr" <oleksandr(dot)shulgin(at)zalando(dot)de>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: to_json(NULL) should to return JSON null instead NULL
Date: 2015-08-29 12:47:44
Message-ID: CACACo5Tv-+EAXY58nJKzxdDC4hby7hLXud0xtOLnW=rR_sPJFA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Aug 29, 2015 at 8:39 AM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)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').

--
Alex

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2015-08-29 13:04:55 Re: Fwd: Core dump with nested CREATE TEMP TABLE
Previous Message Pavel Stehule 2015-08-29 06:39:00 to_json(NULL) should to return JSON null instead NULL