mirror of
https://github.com/postgres/postgres.git
synced 2025-06-14 18:42:34 +03:00
Revert SQL/JSON features
The reverts the following and makes some associated cleanups: commitf79b803dc
: Common SQL/JSON clauses commitf4fb45d15
: SQL/JSON constructors commit5f0adec25
: Make STRING an unreserved_keyword. commit33a377608
: IS JSON predicate commit1a36bc9db
: SQL/JSON query functions commit606948b05
: SQL JSON functions commit49082c2cc
: RETURNING clause for JSON() and JSON_SCALAR() commit4e34747c8
: JSON_TABLE commitfadb48b00
: PLAN clauses for JSON_TABLE commit2ef6f11b0
: Reduce running time of jsonb_sqljson test commit14d3f24fa
: Further improve jsonb_sqljson parallel test commita6baa4bad
: Documentation for SQL/JSON features commitb46bcf7a4
: Improve readability of SQL/JSON documentation. commit112fdb352
: Fix finalization for json_objectagg and friends commitfcdb35c32
: Fix transformJsonBehavior commit4cd8717af
: Improve a couple of sql/json error messages commitf7a605f63
: Small cleanups in SQL/JSON code commit9c3d25e17
: Fix JSON_OBJECTAGG uniquefying bug commita79153b7a
: Claim SQL standard compliance for SQL/JSON features commita1e7616d6
: Rework SQL/JSON documentation commit8d9f9634e
: Fix errors in copyfuncs/equalfuncs support for JSON node types. commit3c633f32b
: Only allow returning string types or bytea from json_serialize commit67b26703b
: 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:
@ -1045,6 +1045,11 @@ typedef struct NUMProc
|
||||
*L_currency_symbol;
|
||||
} NUMProc;
|
||||
|
||||
/* Return flags for DCH_from_char() */
|
||||
#define DCH_DATED 0x01
|
||||
#define DCH_TIMED 0x02
|
||||
#define DCH_ZONED 0x04
|
||||
|
||||
/* ----------
|
||||
* Functions
|
||||
* ----------
|
||||
@ -6707,43 +6712,3 @@ float8_to_char(PG_FUNCTION_ARGS)
|
||||
NUM_TOCHAR_finish;
|
||||
PG_RETURN_TEXT_P(result);
|
||||
}
|
||||
|
||||
int
|
||||
datetime_format_flags(const char *fmt_str, bool *have_error)
|
||||
{
|
||||
bool incache;
|
||||
int fmt_len = strlen(fmt_str);
|
||||
int result;
|
||||
FormatNode *format;
|
||||
|
||||
if (fmt_len > DCH_CACHE_SIZE)
|
||||
{
|
||||
/*
|
||||
* Allocate new memory if format picture is bigger than static cache
|
||||
* and do not use cache (call parser always)
|
||||
*/
|
||||
incache = false;
|
||||
|
||||
format = (FormatNode *) palloc((fmt_len + 1) * sizeof(FormatNode));
|
||||
|
||||
parse_format(format, fmt_str, DCH_keywords,
|
||||
DCH_suff, DCH_index, DCH_FLAG, NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* Use cache buffers
|
||||
*/
|
||||
DCHCacheEntry *ent = DCH_cache_fetch(fmt_str, false);
|
||||
|
||||
incache = true;
|
||||
format = ent->format;
|
||||
}
|
||||
|
||||
result = DCH_datetime_type(format, have_error);
|
||||
|
||||
if (!incache)
|
||||
pfree(format);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user