diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2022-09-01 17:07:14 -0400 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2022-09-01 17:07:14 -0400 |
commit | 2f2b18bd3f554e96a8cc885b177211be12288e4a (patch) | |
tree | 344a5d33738de735f68b98361a54eb5944726f8f /src/backend/nodes/makefuncs.c | |
parent | 90247e742f849794d061a0444071647728054b45 (diff) | |
download | postgresql-2f2b18bd3f554e96a8cc885b177211be12288e4a.tar.gz postgresql-2f2b18bd3f554e96a8cc885b177211be12288e4a.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/makefuncs.c')
-rw-r--r-- | src/backend/nodes/makefuncs.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/src/backend/nodes/makefuncs.c b/src/backend/nodes/makefuncs.c index 28288dcfc10..c85d8fe9751 100644 --- a/src/backend/nodes/makefuncs.c +++ b/src/backend/nodes/makefuncs.c @@ -19,7 +19,6 @@ #include "catalog/pg_type.h" #include "nodes/makefuncs.h" #include "nodes/nodeFuncs.h" -#include "utils/errcodes.h" #include "utils/lsyscache.h" @@ -819,124 +818,3 @@ makeVacuumRelation(RangeVar *relation, Oid oid, List *va_cols) v->va_cols = va_cols; return v; } - -/* - * makeJsonFormat - - * creates a JsonFormat node - */ -JsonFormat * -makeJsonFormat(JsonFormatType type, JsonEncoding encoding, int location) -{ - JsonFormat *jf = makeNode(JsonFormat); - - jf->format_type = type; - jf->encoding = encoding; - jf->location = location; - - return jf; -} - -/* - * makeJsonValueExpr - - * creates a JsonValueExpr node - */ -JsonValueExpr * -makeJsonValueExpr(Expr *expr, JsonFormat *format) -{ - JsonValueExpr *jve = makeNode(JsonValueExpr); - - jve->raw_expr = expr; - jve->formatted_expr = NULL; - jve->format = format; - - return jve; -} - -/* - * makeJsonBehavior - - * creates a JsonBehavior node - */ -JsonBehavior * -makeJsonBehavior(JsonBehaviorType type, Node *default_expr) -{ - JsonBehavior *behavior = makeNode(JsonBehavior); - - behavior->btype = type; - behavior->default_expr = default_expr; - - return behavior; -} - -/* - * makeJsonTableJoinedPlan - - * creates a joined JsonTablePlan node - */ -Node * -makeJsonTableJoinedPlan(JsonTablePlanJoinType type, Node *plan1, Node *plan2, - int location) -{ - JsonTablePlan *n = makeNode(JsonTablePlan); - - n->plan_type = JSTP_JOINED; - n->join_type = type; - n->plan1 = castNode(JsonTablePlan, plan1); - n->plan2 = castNode(JsonTablePlan, plan2); - n->location = location; - - return (Node *) n; -} - -/* - * makeJsonEncoding - - * converts JSON encoding name to enum JsonEncoding - */ -JsonEncoding -makeJsonEncoding(char *name) -{ - if (!pg_strcasecmp(name, "utf8")) - return JS_ENC_UTF8; - if (!pg_strcasecmp(name, "utf16")) - return JS_ENC_UTF16; - if (!pg_strcasecmp(name, "utf32")) - return JS_ENC_UTF32; - - ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("unrecognized JSON encoding: %s", name))); - - return JS_ENC_DEFAULT; -} - -/* - * makeJsonKeyValue - - * creates a JsonKeyValue node - */ -Node * -makeJsonKeyValue(Node *key, Node *value) -{ - JsonKeyValue *n = makeNode(JsonKeyValue); - - n->key = (Expr *) key; - n->value = castNode(JsonValueExpr, value); - - return (Node *) n; -} - -/* - * makeJsonIsPredicate - - * creates a JsonIsPredicate node - */ -Node * -makeJsonIsPredicate(Node *expr, JsonFormat *format, JsonValueType item_type, - bool unique_keys, int location) -{ - JsonIsPredicate *n = makeNode(JsonIsPredicate); - - n->expr = expr; - n->format = format; - n->item_type = item_type; - n->unique_keys = unique_keys; - n->location = location; - - return (Node *) n; -} |