Remove synonym function in MySQL mode

This commit is contained in:
bx0
2021-12-24 17:45:47 +08:00
committed by LINxiansheng
parent 2dba06a3a3
commit 03aa797233
8 changed files with 48 additions and 693 deletions

View File

@ -567,7 +567,6 @@ static const NonReservedKeyword Mysql_none_reserved_keywords[] = {{"access", ACC
{"sysdate", SYSDATE},
{"system", SYSTEM},
{"system_user", SYSTEM_USER},
{"synonym", SYNONYM},
{"swaps", SWAPS},
{"switch", SWITCH},
{"switches", SWITCHES},

View File

@ -314,7 +314,6 @@ STARTING { REPUT_TOKEN_NEG_SIGN(STARTING); }
STORED { REPUT_TOKEN_NEG_SIGN(STORED); }
STRAIGHT_JOIN { REPUT_TOKEN_NEG_SIGN(STRAIGHT_JOIN); }
SUBJECT { REPUT_TOKEN_NEG_SIGN(SUBJECT); }
SYNONYM { REPUT_TOKEN_NEG_SIGN(SYNONYM); }
SYSDATE { REPUT_TOKEN_NEG_SIGN(SYSDATE); }
TERMINATED { REPUT_TOKEN_NEG_SIGN(TERMINATED); }
TEXT { REPUT_TOKEN_NEG_SIGN(TEXT); }

View File

@ -278,7 +278,7 @@ END_P SET_VAR DELIMITER
STATS_PERSISTENT STATS_SAMPLE_PAGES STATUS STATEMENTS STD STDDEV STDDEV_POP STDDEV_SAMP STRONG
SYNCHRONIZATION STOP STORAGE STORAGE_FORMAT_VERSION STORAGE_FORMAT_WORK_VERSION STORING STRING
SUBCLASS_ORIGIN SUBDATE SUBJECT SUBPARTITION SUBPARTITIONS SUBSTR SUBSTRING SUCCESSFUL SUM
SUPER SUSPEND SWAPS SWITCH SWITCHES SWITCHOVER SYSTEM SYSTEM_USER SYSDATE SESSION_ALIAS SYNONYM
SUPER SUSPEND SWAPS SWITCH SWITCHES SWITCHOVER SYSTEM SYSTEM_USER SYSDATE SESSION_ALIAS
SIZE
TABLE_CHECKSUM TABLE_MODE TABLE_ID TABLE_NAME TABLEGROUPS TABLES TABLESPACE TABLET TABLET_MAX_SIZE
@ -304,7 +304,7 @@ END_P SET_VAR DELIMITER
%type <node> select_stmt update_stmt delete_stmt
%type <node> insert_stmt single_table_insert values_clause dml_table_name
%type <node> create_table_stmt create_table_like_stmt opt_table_option_list table_option_list table_option table_option_list_space_seperated create_function_stmt drop_function_stmt parallel_option
%type <node> create_synonym_stmt drop_synonym_stmt opt_public opt_force synonym_name synonym_object opt_dlink
%type <node> opt_force
%type <node> create_database_stmt drop_database_stmt alter_database_stmt use_database_stmt
%type <node> opt_database_name database_option database_option_list opt_database_option_list database_factor
%type <node> create_tenant_stmt opt_tenant_option_list alter_tenant_stmt drop_tenant_stmt
@ -525,8 +525,6 @@ stmt:
| rename_table_stmt { $$ = $1; check_question_mark($$, result); }
| truncate_table_stmt { $$ = $1; check_question_mark($$, result); }
| set_transaction_stmt { $$ = $1; check_question_mark($$, result); }
| create_synonym_stmt { $$ = $1; check_question_mark($$, result); }
| drop_synonym_stmt { $$ = $1; check_question_mark($$, result); }
| create_savepoint_stmt { $$ = $1; check_question_mark($$, result); }
| rollback_savepoint_stmt { $$ = $1; check_question_mark($$, result); }
| release_savepoint_stmt { $$ = $1; check_question_mark($$, result); }
@ -3815,142 +3813,6 @@ USE database_factor
}
;
/*****************************************************************************
*
* create synonym grammar
*
*****************************************************************************/
create_synonym_stmt:
CREATE opt_replace opt_public SYNONYM synonym_name FOR synonym_object opt_dlink
{
malloc_non_terminal_node($$,
result->malloc_pool_,
T_CREATE_SYNONYM,
7,
$2, /*or replace*/
$3, /* public */
NULL, /* opt schema name */
$5, /* synonym name */
NULL, /* opt schema name */
$7, /* synonym object */
$8); /* partition optition */
}
;
| CREATE opt_replace opt_public SYNONYM database_factor '.' synonym_name FOR synonym_object opt_dlink
{
malloc_non_terminal_node($$,
result->malloc_pool_,
T_CREATE_SYNONYM,
7,
$2, /*or replace*/
$3, /* public */
$5, /* opt schema name */
$7, /* synonym name */
NULL, /* opt schema name */
$9, /* synonym object */
$10); /* partition optition */
}
;
| CREATE opt_replace opt_public SYNONYM synonym_name FOR database_factor '.' synonym_object opt_dlink
{
malloc_non_terminal_node($$,
result->malloc_pool_,
T_CREATE_SYNONYM,
7,
$2, /*or replace*/
$3, /* public */
NULL, /* opt schema name */
$5, /* synonym name */
$7, /* opt schema name */
$9, /* synonym object */
$10); /* partition optition */
}
;
| CREATE opt_replace opt_public SYNONYM database_factor '.' synonym_name FOR database_factor '.' synonym_object opt_dlink
{
malloc_non_terminal_node($$,
result->malloc_pool_,
T_CREATE_SYNONYM,
7,
$2, /*or replace*/
$3, /* public */
$5, /* opt schema name */
$7, /* synonym name */
$9, /* opt schema name */
$11, /* synonym object */
$12); /* partition optition */
}
;
opt_public:
PUBLIC
{
malloc_terminal_node($$, result->malloc_pool_, T_PUBLIC); }
| /* EMPTY */
{ $$ = NULL; }
;
synonym_name:
NAME_OB
{ $$ = $1; }
| unreserved_keyword
{
get_non_reserved_node($$, result->malloc_pool_, @1.first_column, @1.last_column);
}
;
opt_dlink:
'@' ip_port
{
$$ = $2;}
| /* EMPTY */
{ $$ = NULL; }
;
synonym_object:
NAME_OB
{ $$ = $1; }
| unreserved_keyword
{
get_non_reserved_node($$, result->malloc_pool_, @1.first_column, @1.last_column);
}
;
/*****************************************************************************
*
* DROP SYNONYM grammar
*
*****************************************************************************/
drop_synonym_stmt:
DROP opt_public SYNONYM synonym_name opt_force
{
malloc_non_terminal_node($$,
result->malloc_pool_,
T_DROP_SYNONYM,
4,
$2, /*opt public*/
NULL, /* opt schema name */
$4, /* synonym name */
$5); /* opt force */
}
;
| DROP opt_public SYNONYM database_factor '.' synonym_name opt_force
{
malloc_non_terminal_node($$,
result->malloc_pool_,
T_DROP_SYNONYM,
4,
$2, /*opt public*/
$4, /* opt schema name */
$6, /* synonym name */
$7); /* opt force */
}
;
opt_force:
FORCE
{
@ -10458,11 +10320,6 @@ ALTER
malloc_terminal_node($$, result->malloc_pool_, T_PRIV_TYPE);
$$->value_ = 0;
}
| CREATE SYNONYM
{
malloc_terminal_node($$, result->malloc_pool_, T_PRIV_TYPE);
$$->value_ = OB_PRIV_CREATE_SYNONYM;
}
| FILEX
{
malloc_terminal_node($$, result->malloc_pool_, T_PRIV_TYPE);
@ -13994,7 +13851,6 @@ ACCOUNT
| SYSTEM
| SYSTEM_USER
| SYSDATE
| SYNONYM
| TABLE_CHECKSUM
| TABLE_MODE
| TABLEGROUPS