Revert SQL/JSON features

Andrew Dunstan <andrew@dunslane.net>

Commit: 2f2b18bd3f554e96a8cc885b177211be12288e4a
Author: Andrew Dunstan <andrew@dunslane.net>
Date: 2022-09-01T21:07:14Z
Releases: 16.0
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

Files

PathChange+/−
doc/src/sgml/func.sgml modified +6 −1059
doc/src/sgml/keywords/sql2016-02-reserved.txt modified +0 −1
src/backend/catalog/sql_features.txt modified +15 −15
src/backend/commands/explain.c modified +1 −7
src/backend/executor/execExpr.c modified +51 −308
src/backend/executor/execExprInterp.c modified +0 −743
src/backend/executor/nodeTableFuncscan.c modified +9 −14
src/backend/jit/llvm/llvmjit_expr.c modified +0 −18
src/backend/jit/llvm/llvmjit_types.c modified +0 −3
src/backend/nodes/makefuncs.c modified +0 −122
src/backend/nodes/nodeFuncs.c modified +0 −486
src/backend/optimizer/path/costsize.c modified +1 −2
src/backend/optimizer/util/clauses.c modified +0 −78
src/backend/parser/gram.y modified +21 −1094
src/backend/parser/Makefile modified +0 −1
src/backend/parser/parse_clause.c modified +3 −9
src/backend/parser/parse_collate.c modified +0 −7
src/backend/parser/parse_expr.c modified +0 −1503
src/backend/parser/parse_jsontable.c deleted +0 −732
src/backend/parser/parser.c modified +0 −16
src/backend/parser/parse_relation.c modified +3 −4
src/backend/parser/parse_target.c modified +0 −40
src/backend/utils/adt/formatting.c modified +5 −40
src/backend/utils/adt/format_type.c modified +0 −4
src/backend/utils/adt/jsonb.c modified +75 −277
src/backend/utils/adt/jsonb_util.c modified +8 −31
src/backend/utils/adt/json.c modified +76 −477
src/backend/utils/adt/jsonfuncs.c modified +3 −68
src/backend/utils/adt/jsonpath.c modified +0 −257
src/backend/utils/adt/jsonpath_exec.c modified +40 −804
src/backend/utils/adt/ruleutils.c modified +24 −695
src/backend/utils/misc/queryjumble.c modified +0 −72
src/include/catalog/catversion.h modified +1 −1
src/include/catalog/pg_aggregate.dat modified +0 −22
src/include/catalog/pg_proc.dat modified +0 −74
src/include/executor/execExpr.h modified +0 −98
src/include/executor/executor.h modified +0 −2
src/include/nodes/makefuncs.h modified +0 −12
src/include/nodes/parsenodes.h modified +0 −287
src/include/nodes/primnodes.h modified +1 −264
src/include/parser/kwlist.h modified +0 −26
src/include/parser/parse_clause.h modified +0 −3
src/include/utils/formatting.h modified +0 −4
src/include/utils/jsonb.h modified +0 −33
src/include/utils/jsonfuncs.h modified +0 −7
src/include/utils/json.h modified +0 −26
src/include/utils/jsonpath.h modified +0 −37
src/interfaces/ecpg/preproc/ecpg.trailer modified +0 −28
src/interfaces/ecpg/preproc/parse.pl modified +0 −2
src/interfaces/ecpg/preproc/parser.c modified +0 −14
src/test/regress/expected/jsonb_sqljson.out deleted +0 −2135
src/test/regress/expected/json_sqljson.out deleted +0 −24
src/test/regress/expected/opr_sanity.out modified +2 −4
src/test/regress/expected/sqljson.out deleted +0 −1320
src/test/regress/parallel_schedule modified +1 −1
src/test/regress/sql/jsonb_sqljson.sql deleted +0 −977
src/test/regress/sql/json_sqljson.sql deleted +0 −15
src/test/regress/sql/opr_sanity.sql modified +2 −4
src/test/regress/sql/sqljson.sql deleted +0 −471
src/tools/pgindent/typedefs.list modified +0 −15

Documentation touched

Discussion