[to #53073511] fix: allow USER used as mysql pl variable

This commit is contained in:
obdev
2024-03-07 03:21:50 +00:00
committed by ob-robot
parent 5700951d28
commit bf01313a8f
3 changed files with 4 additions and 10 deletions

View File

@ -103,6 +103,7 @@ static const NonReservedKeyword Mysql_pl_none_reserved_keywords[] =
{"subclass_origin", SUBCLASS_ORIGIN},
{"until", UNTIL},
{"update", UPDATE},
{"user", USER},
{"using", USING},
{"when", WHEN},
{"while", WHILE},

View File

@ -219,7 +219,7 @@ void obpl_mysql_wrap_get_user_var_into_subquery(ObParseCtx *parse_ctx, ParseNode
CONSTRAINT_CATALOG CONSTRAINT_NAME CONSTRAINT_ORIGIN CONSTRAINT_SCHEMA CONTAINS COUNT CURSOR_NAME
DATA DEFINER END_KEY EXTEND FOLLOWS FOUND FUNCTION HANDLER INTERFACE INVOKER JSON LANGUAGE
MESSAGE_TEXT MYSQL_ERRNO NATIONAL NEXT NO OF OPEN PACKAGE PRAGMA PRECEDES RECORD RETURNS ROW ROWTYPE
SCHEMA_NAME SECURITY SUBCLASS_ORIGIN TABLE_NAME TYPE VALUE
SCHEMA_NAME SECURITY SUBCLASS_ORIGIN TABLE_NAME TYPE USER VALUE
%right END_KEY
%left ELSE IF ELSEIF
@ -383,6 +383,7 @@ sql_keyword:
'(' sql_keyword { $$ = NULL; }
| SQL_KEYWORD { $$ = NULL; }
| TABLE { $$ = NULL; }
| USER { $$ = NULL; }
| INSERT { $$ = NULL; }
| DELETE { $$ = NULL; }
| UPDATE { $$ = NULL; }
@ -551,14 +552,6 @@ call_sp_stmt:
{
malloc_non_terminal_node($$, parse_ctx->mem_pool_, T_SP_CALL_STMT, 2, $2, $3);
}
| CALL sp_proc_stmt
{
if (!parse_ctx->is_inner_parse_) {
obpl_mysql_yyerror(&@2, parse_ctx, "Syntax Error\n");
YYERROR; //生成一个语法错误
}
$$ = $2;
}
| CALL PROCEDURE sp_name '(' opt_sp_param_list ')' sp_create_chistics procedure_body
{
if (!parse_ctx->is_inner_parse_) {
@ -730,6 +723,7 @@ unreserved_keyword:
| NO
| OF
| OPEN
| USER
| PACKAGE
| PRAGMA
| RECORD

View File

@ -1115,7 +1115,6 @@ static const NonReservedKeyword Mysql_sql_keywords_in_pl[] =
{"truncate", TRUNCATE},
{"uninstall", UNINSTALL},
{"update", UPDATE},
{"user", USER},
{"user_resources", USER_RESOURCES},
{"view", VIEW},
{"warnings", WARNINGS},