@@ -1323,6 +1323,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b, size_t *yystacksize);
1323
1323
sp_opt_label BIN_NUM TEXT_STRING_filesystem
1324
1324
opt_constraint constraint opt_ident
1325
1325
sp_block_label sp_control_label opt_place opt_db
1326
+ udt_name
1326
1327
1327
1328
%type <ident_sys>
1328
1329
IDENT_sys
@@ -6296,23 +6297,19 @@ qualified_field_type:
6296
6297
}
6297
6298
;
6298
6299
6300
+ udt_name:
6301
+ IDENT_sys { $$= $1; }
6302
+ | reserved_keyword_udt { $$= $1; }
6303
+ | non_reserved_keyword_udt { $$= $1; }
6304
+ ;
6305
+
6299
6306
field_type_all:
6300
6307
field_type_numeric
6301
6308
| field_type_temporal
6302
6309
| field_type_string
6303
6310
| field_type_lob
6304
6311
| field_type_misc
6305
- | IDENT_sys float_options srid_option
6306
- {
6307
- if (Lex->set_field_type_udt(&$$, $1, $2))
6308
- MYSQL_YYABORT;
6309
- }
6310
- | reserved_keyword_udt float_options srid_option
6311
- {
6312
- if (Lex->set_field_type_udt(&$$, $1, $2))
6313
- MYSQL_YYABORT;
6314
- }
6315
- | non_reserved_keyword_udt float_options srid_option
6312
+ | udt_name float_options srid_option
6316
6313
{
6317
6314
if (Lex->set_field_type_udt(&$$, $1, $2))
6318
6315
MYSQL_YYABORT;
@@ -11468,17 +11465,7 @@ cast_type:
11468
11465
}
11469
11466
| cast_type_numeric { $$= $1; Lex->charset= NULL; }
11470
11467
| cast_type_temporal { $$= $1; Lex->charset= NULL; }
11471
- | IDENT_sys
11472
- {
11473
- if (Lex->set_cast_type_udt(&$$, $1))
11474
- MYSQL_YYABORT;
11475
- }
11476
- | reserved_keyword_udt
11477
- {
11478
- if (Lex->set_cast_type_udt(&$$, $1))
11479
- MYSQL_YYABORT;
11480
- }
11481
- | non_reserved_keyword_udt
11468
+ | udt_name
11482
11469
{
11483
11470
if (Lex->set_cast_type_udt(&$$, $1))
11484
11471
MYSQL_YYABORT;
0 commit comments