1
0
mirror of https://github.com/postgres/postgres.git synced 2025-07-08 11:42:09 +03:00

Revert SQL/JSON features

The reverts the following and makes some associated cleanups:

    commit f79b803dc: Common SQL/JSON clauses
    commit f4fb45d15: SQL/JSON constructors
    commit 5f0adec25: Make STRING an unreserved_keyword.
    commit 33a377608: IS JSON predicate
    commit 1a36bc9db: SQL/JSON query functions
    commit 606948b05: SQL JSON functions
    commit 49082c2cc: RETURNING clause for JSON() and JSON_SCALAR()
    commit 4e34747c8: JSON_TABLE
    commit fadb48b00: PLAN clauses for JSON_TABLE
    commit 2ef6f11b0: Reduce running time of jsonb_sqljson test
    commit 14d3f24fa: Further improve jsonb_sqljson parallel test
    commit a6baa4bad: Documentation for SQL/JSON features
    commit b46bcf7a4: Improve readability of SQL/JSON documentation.
    commit 112fdb352: Fix finalization for json_objectagg and friends
    commit fcdb35c32: Fix transformJsonBehavior
    commit 4cd8717af: Improve a couple of sql/json error messages
    commit f7a605f63: Small cleanups in SQL/JSON code
    commit 9c3d25e17: Fix JSON_OBJECTAGG uniquefying bug
    commit a79153b7a: Claim SQL standard compliance for SQL/JSON features
    commit a1e7616d6: Rework SQL/JSON documentation
    commit 8d9f9634e: Fix errors in copyfuncs/equalfuncs support for JSON node types.
    commit 3c633f32b: Only allow returning string types or bytea from json_serialize
    commit 67b26703b: expression eval: Fix EEOP_JSON_CONSTRUCTOR and EEOP_JSONEXPR size.

The release notes are also adjusted.

Backpatch to release 15.

Discussion: https://postgr.es/m/40d2c882-bcac-19a9-754d-4299e1d87ac7@postgresql.org
This commit is contained in:
Andrew Dunstan
2022-09-01 17:09:46 -04:00
parent c4e861b7bb
commit 96ef3237bf
66 changed files with 350 additions and 16420 deletions

File diff suppressed because it is too large Load Diff

View File

@ -157,7 +157,6 @@ INTERVAL
INTO
IS
JOIN
JSON
JSON_ARRAY
JSON_ARRAYAGG
JSON_EXISTS

View File

@ -2054,99 +2054,6 @@ Author: Tom Lane <tgl@sss.pgh.pa.us>
</itemizedlist>
<sect4>
<title><acronym>JSON</acronym></title>
<itemizedlist>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2022-03-27 [f79b803dc] Common SQL/JSON clauses
Author: Andrew Dunstan <andrew@dunslane.net>
2022-03-27 [f4fb45d15] SQL/JSON constructors
Author: Andrew Dunstan <andrew@dunslane.net>
2022-03-30 [606948b05] SQL JSON functions
Author: Andrew Dunstan <andrew@dunslane.net>
2022-03-31 [49082c2cc] RETURNING clause for JSON() and JSON_SCALAR()
Author: Andrew Dunstan <andrew@dunslane.net>
2022-04-07 [a6baa4bad] Documentation for SQL/JSON features
-->
<listitem>
<para>
Add <acronym>SQL</acronym>/<acronym>JSON</acronym>-standard
<acronym>JSON</acronym> constructors (Nikita Glukhov)
</para>
<para>
The construction functions are <link
linkend="functions-sqljson-producing"><function>json()</function></link>,
<function>json_scalar()</function>, and
<function>json_serialize()</function>,
<function>json_array()</function>,
<function>json_arrayagg()</function>,
<function>json_object()</function>, and
<function>json_objectagg()</function>. They have a few functional
advantages over the existing JSON functions.
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2022-03-29 [1a36bc9db] SQL/JSON query functions
-->
<listitem>
<para>
Add <acronym>SQL</acronym>/<acronym>JSON</acronym>
query functions <link
linkend="functions-sqljson-querying"><function>json_exists()</function></link>,
<function>json_query()</function>, and
<function>json_value()</function> (Nikita Glukhov)
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2022-03-28 [33a377608] IS JSON predicate
-->
<listitem>
<para>
Add <acronym>JSON</acronym> predicates to test
<type>JSON</type>/<type>JSONB</type> values (Nikita Glukhov)
</para>
<para>
The clauses are <link linkend="functions-sqljson-misc"><literal>IS
JSON</literal></link> [ <literal>VALUE</literal> |
<literal>ARRAY</literal>
| <literal>OBJECT</literal> | <literal>SCALAR</literal> |
[<literal>WITH</literal> | <literal>WITHOUT</literal> ]
<literal>UNIQUE KEYS</literal> ].
</para>
</listitem>
<!--
Author: Andrew Dunstan <andrew@dunslane.net>
2022-04-04 [4e34747c8] JSON_TABLE
Author: Andrew Dunstan <andrew@dunslane.net>
2022-04-05 [fadb48b00] PLAN clauses for JSON_TABLE
-->
<listitem>
<para>
Add function <link
linkend="functions-sqljson-table"><function>JSON_TABLE()</function></link>
to cause <acronym>JSON</acronym> data to be treated as a table
(Nikita Glukhov)
</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>
<sect3>