SQL/JSON features for v15
Jonathan S. Katz <jkatz@postgresql.org>
From: "Jonathan S. Katz" <jkatz@postgresql.org>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Cc: Andrew Dunstan <andrew@dunslane.net>, Andres Freund <andres@anarazel.de>,
Tom Lane <tgl@sss.pgh.pa.us>, Nikita Glukhov <n.gluhov@postgrespro.ru>,
Michael Paquier <michael@paquier.xyz>,
John Naylor <john.naylor@enterprisedb.com>
Date: 2022-08-09T20:58:56Z
Lists: pgsql-hackers
Hi, (Personal hat, not RMT hat unless otherwise noted). This thread[1] raised some concerns around the implementation of the SQL/JSON features that are slated for v15, which includes an outstanding open item[2]. Given the current state of the discussion, when the RMT met on Aug 8, they several options, readable here[3]. Given we are now into the later part of the release cycle, we need to make some decisions on how to proceed with this feature given the concerns raised. Per additional discussion on the thread, the group wanted to provide more visibility into the discussion to get opinions on how to proceed for the v15 release. Without rehashing the thread, the options presented were: 1. Fixing the concerns addressed in the thread around the v15 SQL/JSON features implementation, noting that this would likely entail at least one more beta release and would push the GA date past our normal timeframe. 2. Try to commit a subset of the features that caused less debate. This was ruled out. 3. Revert the v15 SQL/JSON features work. <RMT hat> Based on the current release timing and the open issues presented on the thread, and the RMT had recommended reverting, but preferred to drive consensus on next steps. </RMT hat> From a release advocacy standpoint, I need about 6 weeks lead time to put together the GA launch. We're at the point where I typically deliver a draft release announcement. From this, given this involves a high visibility feature, I would want some clarity on what option we would like to pursue. Once the announcement translation process has begun (and this is when we have consensus on the release announcement), it becomes more challenging to change things out. From a personal standpoint (restating from[3]), I would like to see what we could do to include support for this batch of the SQL/JSON features in v15. What is included looks like it closes most of the gap on what we've been missing syntactically since the standard was adopted, and the JSON_TABLE work is very convenient for converting JSON data into a relational format. I believe having this feature set is important for maintaining standards compliance, interoperability, tooling support, and general usability. Plus, JSON still seems to be pretty popular. We're looking for additional input on what makes sense as a best course of action, given what is presented in[3]. Thanks, Jonathan [1] https://www.postgresql.org/message-id/flat/20220616233130.rparivafipt6doj3%40alap3.anarazel.de [2] https://wiki.postgresql.org/wiki/PostgreSQL_15_Open_Items [3] https://www.postgresql.org/message-id/787cef45-15de-8f1d-ed58-a1c1435bfc0e%40postgresql.org
Commits
-
JSON_TABLE: Add support for NESTED paths and columns
- bb766cde63b4 17.0 landed
-
Add basic JSON_TABLE() functionality
- de3600452b61 17.0 landed
-
Add SQL/JSON query functions
- 6185c9737cf4 17.0 landed
-
Add soft error handling to some expression nodes
- aaaf9449ec6b 17.0 landed
-
Adjust populate_record_field() to handle errors softly
- 1edb3b491bee 17.0 landed
-
Refactor code used by jsonpath executor to fetch variables
- faa2b953ba3b 17.0 landed
-
Add more SQL/JSON constructor functions
- 03734a7fed7d 17.0 landed
-
SQL/JSON: support the IS JSON predicate
- 6ee30209a6f1 16.0 landed
-
SQL/JSON: add standard JSON constructor functions
- 7081ac46ace8 16.0 landed
-
Revert SQL/JSON features
- 96ef3237bf74 15.0 landed
- 2f2b18bd3f55 16.0 landed
-
Numeric error suppression in jsonpath
- 16d489b0fe05 12.0 cited