diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2022-09-01 17:09:46 -0400 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2022-09-01 17:10:42 -0400 |
commit | 96ef3237bf741c12390003e90a4d7115c0c854b7 (patch) | |
tree | f5efee6e72fd34e535f34d30a56daf15d92a6fbc /src/backend/nodes/outfuncs.c | |
parent | c4e861b7bba3c4766beac53239c5435b9abe1275 (diff) | |
download | postgresql-96ef3237bf741c12390003e90a4d7115c0c854b7.tar.gz postgresql-96ef3237bf741c12390003e90a4d7115c0c854b7.zip |
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
Diffstat (limited to 'src/backend/nodes/outfuncs.c')
-rw-r--r-- | src/backend/nodes/outfuncs.c | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index e9a8bea125c..3f8e58626cc 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -1103,7 +1103,6 @@ _outTableFunc(StringInfo str, const TableFunc *node) { WRITE_NODE_TYPE("TABLEFUNC"); - WRITE_ENUM_FIELD(functype, TableFuncType); WRITE_NODE_FIELD(ns_uris); WRITE_NODE_FIELD(ns_names); WRITE_NODE_FIELD(docexpr); @@ -1114,9 +1113,7 @@ _outTableFunc(StringInfo str, const TableFunc *node) WRITE_NODE_FIELD(colcollations); WRITE_NODE_FIELD(colexprs); WRITE_NODE_FIELD(coldefexprs); - WRITE_NODE_FIELD(colvalexprs); WRITE_BITMAPSET_FIELD(notnulls); - WRITE_NODE_FIELD(plan); WRITE_INT_FIELD(ordinalitycol); WRITE_LOCATION_FIELD(location); } @@ -1766,145 +1763,6 @@ _outOnConflictExpr(StringInfo str, const OnConflictExpr *node) WRITE_NODE_FIELD(exclRelTlist); } -static void -_outJsonFormat(StringInfo str, const JsonFormat *node) -{ - WRITE_NODE_TYPE("JSONFORMAT"); - - WRITE_ENUM_FIELD(format_type, JsonFormatType); - WRITE_ENUM_FIELD(encoding, JsonEncoding); - WRITE_LOCATION_FIELD(location); -} - -static void -_outJsonReturning(StringInfo str, const JsonReturning *node) -{ - WRITE_NODE_TYPE("JSONRETURNING"); - - WRITE_NODE_FIELD(format); - WRITE_OID_FIELD(typid); - WRITE_INT_FIELD(typmod); -} - -static void -_outJsonValueExpr(StringInfo str, const JsonValueExpr *node) -{ - WRITE_NODE_TYPE("JSONVALUEEXPR"); - - WRITE_NODE_FIELD(raw_expr); - WRITE_NODE_FIELD(formatted_expr); - WRITE_NODE_FIELD(format); -} - -static void -_outJsonConstructorExpr(StringInfo str, const JsonConstructorExpr *node) -{ - WRITE_NODE_TYPE("JSONCONSTRUCTOREXPR"); - - WRITE_ENUM_FIELD(type, JsonConstructorType); - WRITE_NODE_FIELD(args); - WRITE_NODE_FIELD(func); - WRITE_NODE_FIELD(coercion); - WRITE_NODE_FIELD(returning); - WRITE_BOOL_FIELD(absent_on_null); - WRITE_BOOL_FIELD(unique); - WRITE_LOCATION_FIELD(location); -} - -static void -_outJsonIsPredicate(StringInfo str, const JsonIsPredicate *node) -{ - WRITE_NODE_TYPE("JSONISPREDICATE"); - - WRITE_NODE_FIELD(expr); - WRITE_NODE_FIELD(format); - WRITE_ENUM_FIELD(item_type, JsonValueType); - WRITE_BOOL_FIELD(unique_keys); - WRITE_LOCATION_FIELD(location); -} - -static void -_outJsonBehavior(StringInfo str, const JsonBehavior *node) -{ - WRITE_NODE_TYPE("JSONBEHAVIOR"); - - WRITE_ENUM_FIELD(btype, JsonBehaviorType); - WRITE_NODE_FIELD(default_expr); -} - -static void -_outJsonExpr(StringInfo str, const JsonExpr *node) -{ - WRITE_NODE_TYPE("JSONEXPR"); - - WRITE_ENUM_FIELD(op, JsonExprOp); - WRITE_NODE_FIELD(formatted_expr); - WRITE_NODE_FIELD(result_coercion); - WRITE_NODE_FIELD(format); - WRITE_NODE_FIELD(path_spec); - WRITE_NODE_FIELD(passing_names); - WRITE_NODE_FIELD(passing_values); - WRITE_NODE_FIELD(returning); - WRITE_NODE_FIELD(on_empty); - WRITE_NODE_FIELD(on_error); - WRITE_NODE_FIELD(coercions); - WRITE_ENUM_FIELD(wrapper, JsonWrapper); - WRITE_BOOL_FIELD(omit_quotes); - WRITE_LOCATION_FIELD(location); -} - -static void -_outJsonCoercion(StringInfo str, const JsonCoercion *node) -{ - WRITE_NODE_TYPE("JSONCOERCION"); - - WRITE_NODE_FIELD(expr); - WRITE_BOOL_FIELD(via_populate); - WRITE_BOOL_FIELD(via_io); - WRITE_OID_FIELD(collation); -} - -static void -_outJsonItemCoercions(StringInfo str, const JsonItemCoercions *node) -{ - WRITE_NODE_TYPE("JSONITEMCOERCIONS"); - - WRITE_NODE_FIELD(null); - WRITE_NODE_FIELD(string); - WRITE_NODE_FIELD(numeric); - WRITE_NODE_FIELD(boolean); - WRITE_NODE_FIELD(date); - WRITE_NODE_FIELD(time); - WRITE_NODE_FIELD(timetz); - WRITE_NODE_FIELD(timestamp); - WRITE_NODE_FIELD(timestamptz); - WRITE_NODE_FIELD(composite); -} - -static void -_outJsonTableParent(StringInfo str, const JsonTableParent *node) -{ - WRITE_NODE_TYPE("JSONTABLEPARENT"); - - WRITE_NODE_FIELD(path); - WRITE_STRING_FIELD(name); - WRITE_NODE_FIELD(child); - WRITE_BOOL_FIELD(outerJoin); - WRITE_INT_FIELD(colMin); - WRITE_INT_FIELD(colMax); - WRITE_BOOL_FIELD(errorOnError); -} - -static void -_outJsonTableSibling(StringInfo str, const JsonTableSibling *node) -{ - WRITE_NODE_TYPE("JSONTABLESIBLING"); - - WRITE_NODE_FIELD(larg); - WRITE_NODE_FIELD(rarg); - WRITE_BOOL_FIELD(cross); -} - /***************************************************************************** * * Stuff from pathnodes.h. @@ -4730,39 +4588,6 @@ outNode(StringInfo str, const void *obj) case T_PartitionRangeDatum: _outPartitionRangeDatum(str, obj); break; - case T_JsonFormat: - _outJsonFormat(str, obj); - break; - case T_JsonReturning: - _outJsonReturning(str, obj); - break; - case T_JsonValueExpr: - _outJsonValueExpr(str, obj); - break; - case T_JsonConstructorExpr: - _outJsonConstructorExpr(str, obj); - break; - case T_JsonIsPredicate: - _outJsonIsPredicate(str, obj); - break; - case T_JsonBehavior: - _outJsonBehavior(str, obj); - break; - case T_JsonExpr: - _outJsonExpr(str, obj); - break; - case T_JsonCoercion: - _outJsonCoercion(str, obj); - break; - case T_JsonItemCoercions: - _outJsonItemCoercions(str, obj); - break; - case T_JsonTableParent: - _outJsonTableParent(str, obj); - break; - case T_JsonTableSibling: - _outJsonTableSibling(str, obj); - break; default: |