Re: BUG #19418: SQL/JSON JSON_VALUE() does not conform to ISO/IEC 9075-2:2023(E) 6.34 <JSON value constructor>
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Melanie Plageman <melanieplageman@gmail.com>
Cc: Nathan Bossart <nathandbossart@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Amit Langote <amitlangote09@gmail.com>, Vik Fearing <vik@postgresfriends.org>, lukas.eder@gmail.com, pgsql-bugs@lists.postgresql.org, rmt@lists.postgresql.org, Álvaro Herrera <alvherre@kurilemu.de>, Heikki Linnakangas <hlinnaka@iki.fi>
Date: 2026-05-01T00:26:32Z
Lists: pgsql-bugs
On Fri, May 1, 2026 at 7:05 AM Melanie Plageman <melanieplageman@gmail.com> wrote: > On Fri, Apr 24, 2026 at 3:58 PM Nathan Bossart <nathandbossart@gmail.com> wrote: > > On Thu, Apr 23, 2026 at 09:55:10AM +0900, Richard Guo wrote: > > >> Hi RMT, > > >> > > >> I'd like to commit a fix for JSON_ARRAY(subquery) behavior that > > >> involves a user-visible incompatibility, and would appreciate your > > >> go/no-go since we're past feature freeze. > > >> > > >> Summary: > > >> > > >> - JSON_ARRAY(SELECT ...) currently returns NULL over an empty result > > >> set, but the SQL/JSON standard requires it to return '[]'. Fixing > > >> this changes user-visible output. > > >> > > >> - The same patch also fixes a deparsing issue: views defined with > > >> JSON_ARRAY(SELECT ...) are dumped back as the internal JSON_ARRAYAGG > > >> rewrite instead of the original syntax. > > I am fine with committing this for v19, assuming there is consensus on the > > patch content. > > > > Heikki/Melanie: Any objections? > Nope. I'm +1 on committing this now. 19 is unreleased -- I see no > reason to wait a year. Thank you, Nathan and Melanie. I now have two of the three RMT approvals, so I believe I'm good to go. Will commit this shortly. - Richard
Commits
-
Enforce RETURNING typmod for empty-set JSON_ARRAY(query)
- 9d124a14b3d4 19 (unreleased) landed
-
Fix JSON_ARRAY(query) empty set handling and view deparsing
- 8d829f5a0203 19 (unreleased) landed