mirror of
https://github.com/postgres/postgres.git
synced 2025-09-09 13:09:39 +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:
@@ -657,34 +657,6 @@ var_type: simple_type
|
||||
$$.type_index = mm_strdup("-1");
|
||||
$$.type_sizeof = NULL;
|
||||
}
|
||||
| STRING
|
||||
{
|
||||
if (INFORMIX_MODE)
|
||||
{
|
||||
/* In Informix mode, "string" is automatically a typedef */
|
||||
$$.type_enum = ECPGt_string;
|
||||
$$.type_str = mm_strdup("char");
|
||||
$$.type_dimension = mm_strdup("-1");
|
||||
$$.type_index = mm_strdup("-1");
|
||||
$$.type_sizeof = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Otherwise, legal only if user typedef'ed it */
|
||||
struct typedefs *this = get_typedef("string", false);
|
||||
|
||||
$$.type_str = (this->type->type_enum == ECPGt_varchar || this->type->type_enum == ECPGt_bytea) ? EMPTY : mm_strdup(this->name);
|
||||
$$.type_enum = this->type->type_enum;
|
||||
$$.type_dimension = this->type->type_dimension;
|
||||
$$.type_index = this->type->type_index;
|
||||
if (this->type->type_sizeof && strlen(this->type->type_sizeof) != 0)
|
||||
$$.type_sizeof = this->type->type_sizeof;
|
||||
else
|
||||
$$.type_sizeof = cat_str(3, mm_strdup("sizeof("), mm_strdup(this->name), mm_strdup(")"));
|
||||
|
||||
struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list);
|
||||
}
|
||||
}
|
||||
| IDENT ecpg_interval
|
||||
{
|
||||
/*
|
||||
|
@@ -58,8 +58,6 @@ my %replace_string = (
|
||||
'NOT_LA' => 'not',
|
||||
'NULLS_LA' => 'nulls',
|
||||
'WITH_LA' => 'with',
|
||||
'WITH_LA_UNIQUE' => 'with',
|
||||
'WITHOUT_LA' => 'without',
|
||||
'TYPECAST' => '::',
|
||||
'DOT_DOT' => '..',
|
||||
'COLON_EQUALS' => ':=',
|
||||
|
@@ -83,7 +83,6 @@ filtered_base_yylex(void)
|
||||
case WITH:
|
||||
case UIDENT:
|
||||
case USCONST:
|
||||
case WITHOUT:
|
||||
break;
|
||||
default:
|
||||
return cur_token;
|
||||
@@ -144,19 +143,6 @@ filtered_base_yylex(void)
|
||||
case ORDINALITY:
|
||||
cur_token = WITH_LA;
|
||||
break;
|
||||
case UNIQUE:
|
||||
cur_token = WITH_LA_UNIQUE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case WITHOUT:
|
||||
/* Replace WITHOUT by WITHOUT_LA if it's followed by TIME */
|
||||
switch (next_token)
|
||||
{
|
||||
case TIME:
|
||||
cur_token = WITHOUT_LA;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case UIDENT:
|
||||
|
Reference in New Issue
Block a user