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/include/utils/jsonb.h | |
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/include/utils/jsonb.h')
-rw-r--r-- | src/include/utils/jsonb.h | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/src/include/utils/jsonb.h b/src/include/utils/jsonb.h index bae466b5234..4cbe6edf218 100644 --- a/src/include/utils/jsonb.h +++ b/src/include/utils/jsonb.h @@ -329,8 +329,6 @@ typedef struct JsonbParseState JsonbValue contVal; Size size; struct JsonbParseState *next; - bool unique_keys; /* Check object key uniqueness */ - bool skip_nulls; /* Skip null object fields */ } JsonbParseState; /* @@ -376,22 +374,6 @@ typedef struct JsonbIterator struct JsonbIterator *parent; } JsonbIterator; -/* unlike with json categories, we need to treat json and jsonb differently */ -typedef enum /* type categories for datum_to_jsonb */ -{ - JSONBTYPE_NULL, /* null, so we didn't bother to identify */ - JSONBTYPE_BOOL, /* boolean (built-in types only) */ - JSONBTYPE_NUMERIC, /* numeric (ditto) */ - JSONBTYPE_DATE, /* we use special formatting for datetimes */ - JSONBTYPE_TIMESTAMP, /* we use special formatting for timestamp */ - JSONBTYPE_TIMESTAMPTZ, /* ... and timestamptz */ - JSONBTYPE_JSON, /* JSON */ - JSONBTYPE_JSONB, /* JSONB */ - JSONBTYPE_ARRAY, /* array */ - JSONBTYPE_COMPOSITE, /* composite */ - JSONBTYPE_JSONCAST, /* something with an explicit cast to JSON */ - JSONBTYPE_OTHER /* all else */ -} JsonbTypeCategory; /* Support functions */ extern uint32 getJsonbOffset(const JsonbContainer *jc, int index); @@ -419,14 +401,10 @@ extern void JsonbHashScalarValueExtended(const JsonbValue *scalarVal, uint64 *hash, uint64 seed); /* jsonb.c support functions */ -extern Datum jsonb_from_text(text *js, bool unique_keys); extern char *JsonbToCString(StringInfo out, JsonbContainer *in, int estimated_len); extern char *JsonbToCStringIndent(StringInfo out, JsonbContainer *in, int estimated_len); -extern Jsonb *JsonbMakeEmptyArray(void); -extern Jsonb *JsonbMakeEmptyObject(void); -extern char *JsonbUnquote(Jsonb *jb); extern bool JsonbExtractScalar(JsonbContainer *jbc, JsonbValue *res); extern const char *JsonbTypeName(JsonbValue *jb); @@ -434,15 +412,4 @@ extern Datum jsonb_set_element(Jsonb *jb, Datum *path, int path_len, JsonbValue *newval); extern Datum jsonb_get_element(Jsonb *jb, Datum *path, int npath, bool *isnull, bool as_text); -extern bool to_jsonb_is_immutable(Oid typoid); -extern void jsonb_categorize_type(Oid typoid, JsonbTypeCategory *tcategory, - Oid *outfuncoid); -extern Datum to_jsonb_worker(Datum val, JsonbTypeCategory tcategory, - Oid outfuncoid); -extern Datum jsonb_build_object_worker(int nargs, Datum *args, bool *nulls, - Oid *types, bool absent_on_null, - bool unique_keys); -extern Datum jsonb_build_array_worker(int nargs, Datum *args, bool *nulls, - Oid *types, bool absent_on_null); - #endif /* __JSONB_H__ */ |