mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
[MDEV-7978] Update grammar for new syntax
Extend the syntax accepted by the grammar to account for the new create user and alter user syntax.
This commit is contained in:
committed by
Daniel Black
parent
873cc1e77a
commit
c169838611
@ -443,6 +443,7 @@ void init_update_queries(void)
|
||||
sql_command_flags[SQLCOM_CREATE_USER]= CF_CHANGES_DATA;
|
||||
sql_command_flags[SQLCOM_RENAME_USER]= CF_CHANGES_DATA;
|
||||
sql_command_flags[SQLCOM_DROP_USER]= CF_CHANGES_DATA;
|
||||
sql_command_flags[SQLCOM_ALTER_USER]= CF_CHANGES_DATA;
|
||||
sql_command_flags[SQLCOM_CREATE_ROLE]= CF_CHANGES_DATA;
|
||||
sql_command_flags[SQLCOM_GRANT]= CF_CHANGES_DATA;
|
||||
sql_command_flags[SQLCOM_GRANT_ROLE]= CF_CHANGES_DATA;
|
||||
@ -506,6 +507,7 @@ void init_update_queries(void)
|
||||
sql_command_flags[SQLCOM_CHECKSUM]= CF_REPORT_PROGRESS;
|
||||
|
||||
sql_command_flags[SQLCOM_CREATE_USER]|= CF_AUTO_COMMIT_TRANS;
|
||||
sql_command_flags[SQLCOM_ALTER_USER]|= CF_AUTO_COMMIT_TRANS;
|
||||
sql_command_flags[SQLCOM_DROP_USER]|= CF_AUTO_COMMIT_TRANS;
|
||||
sql_command_flags[SQLCOM_RENAME_USER]|= CF_AUTO_COMMIT_TRANS;
|
||||
sql_command_flags[SQLCOM_CREATE_ROLE]|= CF_AUTO_COMMIT_TRANS;
|
||||
@ -601,6 +603,7 @@ void init_update_queries(void)
|
||||
sql_command_flags[SQLCOM_ALTER_EVENT]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
sql_command_flags[SQLCOM_DROP_EVENT]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
sql_command_flags[SQLCOM_CREATE_USER]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
sql_command_flags[SQLCOM_ALTER_USER]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
sql_command_flags[SQLCOM_RENAME_USER]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
sql_command_flags[SQLCOM_DROP_USER]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
sql_command_flags[SQLCOM_CREATE_SERVER]|= CF_DISALLOW_IN_RO_TRANS;
|
||||
@ -4403,6 +4406,7 @@ mysql_execute_command(THD *thd)
|
||||
my_ok(thd);
|
||||
break;
|
||||
}
|
||||
case SQLCOM_ALTER_USER:
|
||||
case SQLCOM_RENAME_USER:
|
||||
{
|
||||
if (check_access(thd, UPDATE_ACL, "mysql", NULL, NULL, 1, 1) &&
|
||||
@ -4410,7 +4414,11 @@ mysql_execute_command(THD *thd)
|
||||
break;
|
||||
/* Conditionally writes to binlog */
|
||||
WSREP_TO_ISOLATION_BEGIN(WSREP_MYSQL_DB, NULL, NULL)
|
||||
if (!(res= mysql_rename_user(thd, lex->users_list)))
|
||||
if (lex->sql_command == SQLCOM_ALTER_USER)
|
||||
res= mysql_alter_user(thd, lex->users_list);
|
||||
else
|
||||
res= mysql_rename_user(thd, lex->users_list);
|
||||
if (!res)
|
||||
my_ok(thd);
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user