Re: BUG #19418: SQL/JSON JSON_VALUE() does not conform to ISO/IEC 9075-2:2023(E) 6.34 <JSON value constructor>

From: Lukas Eder <lukas(dot)eder(at)gmail(dot)com>
To: jian he <jian(dot)universality(at)gmail(dot)com>
Cc: Vik Fearing <vik(at)postgresfriends(dot)org>, pgsql-bugs(at)lists(dot)postgresql(dot)org, PG Bug reporting form <noreply(at)postgresql(dot)org>
Subject: Re: BUG #19418: SQL/JSON JSON_VALUE() does not conform to ISO/IEC 9075-2:2023(E) 6.34 <JSON value constructor>
Date: 2026-03-03 07:16:49
Message-ID: CAB4ELO7eg5O4+Z+Xt653FX9EDkyZzV-JO6ii73q9sK17gg9LpA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

That was a typo. I meant to refer to JSON_ARRAY, not JSON_VALUE in the
subject title. The issue is specifically about <JSON array constructor by
query> (I also made a typo there, sorry for that)

On Tue, Mar 3, 2026 at 3:42 AM jian he <jian(dot)universality(at)gmail(dot)com> wrote:

> On Thu, Feb 26, 2026 at 10:20 PM Vik Fearing <vik(at)postgresfriends(dot)org>
> wrote:
> >
> > > Try this:
> > >
> > > select json_array(select 1 where false);
> > >
> > > It produces NULL, not []
> >
> >
> > I can confirm that postgres violates the standard here.
> >
> > --
>
> Since the subject title mentioned JSON_VALUE.
>
> SELECT JSON_VALUE(((select NULL where false)), '$');
> SELECT JSON_QUERY(((select NULL where false)), '$');
> SELECT JSON_EXISTS(((select NULL where false)), '$');
>
> Should the above produce []?
>
>
>
> --
> jian
> https://www.enterprisedb.com/
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Michael Paquier 2026-03-03 07:20:37 Re: BUG #19422: Malformed raius packet
Previous Message jian he 2026-03-03 02:41:47 Re: BUG #19418: SQL/JSON JSON_VALUE() does not conform to ISO/IEC 9075-2:2023(E) 6.34 <JSON value constructor>