summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnel Husakovic <anel@mariadb.org>2021-07-27 17:37:44 +0200
committerAnel Husakovic <anel@mariadb.org>2021-07-27 17:37:44 +0200
commit420f846a1513ab5285bdaa7cfd3384669321d46b (patch)
tree05c0b83fcff91d812479c2a00f0cc7cab4c5e521
parentafe00bb7cce7de279e48a83ededc71b3f8cfafcf (diff)
downloadmariadb-git-st-10.2-anel-MDEV-22874.tar.gz
MDEV-2287: Create user fails with non-descriptive error messagest-10.2-anel-MDEV-22874bb-10.2-anel-MDEV-22874
-rw-r--r--mysql-test/r/create_drop_role.result2
-rw-r--r--mysql-test/r/create_drop_user.result6
-rw-r--r--mysql-test/r/grant.result6
-rw-r--r--mysql-test/r/grant2.result4
-rw-r--r--mysql-test/r/not_embedded_server.result34
-rw-r--r--mysql-test/r/plugin_auth_qa.result6
-rw-r--r--mysql-test/r/ps.result4
-rw-r--r--mysql-test/suite/roles/create_and_drop_current.result10
-rw-r--r--mysql-test/suite/roles/create_and_drop_role.result4
-rw-r--r--mysql-test/suite/roles/prepare_stmt_with_role.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_role.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_create_drop_user.result2
-rw-r--r--mysql-test/suite/rpl/r/rpl_user.result4
-rw-r--r--sql/sql_acl.cc19
14 files changed, 59 insertions, 46 deletions
diff --git a/mysql-test/r/create_drop_role.result b/mysql-test/r/create_drop_role.result
index 886dcfd0e72..ff367eef49d 100644
--- a/mysql-test/r/create_drop_role.result
+++ b/mysql-test/r/create_drop_role.result
@@ -38,7 +38,7 @@ CREATE OR REPLACE ROLE role_1;
CREATE OR REPLACE ROLE IF NOT EXISTS role_1;
ERROR HY000: Incorrect usage of OR REPLACE and IF NOT EXISTS
CREATE ROLE role_1;
-ERROR HY000: Operation CREATE ROLE failed for 'role_1'
+ERROR HY000: Operation CREATE ROLE failed for 'role_1',role already exists
CREATE USER u1@localhost;
REVOKE SHOW DATABASES ON *.* FROM 'u1'@'localhost';
GRANT SHOW DATABASES ON *.* TO role_1;
diff --git a/mysql-test/r/create_drop_user.result b/mysql-test/r/create_drop_user.result
index dd75d1c257a..bfbf588f11f 100644
--- a/mysql-test/r/create_drop_user.result
+++ b/mysql-test/r/create_drop_user.result
@@ -25,13 +25,13 @@ DROP USER u1@localhost;
ERROR HY000: Operation DROP USER failed for 'u1'@'localhost'
CREATE OR REPLACE USER u1@localhost;
CREATE USER u1@localhost;
-ERROR HY000: Operation CREATE USER failed for 'u1'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'u1'@'localhost',user already exists
DROP USER u1@localhost;
CREATE USER u1;
CREATE USER u1, u2;
-ERROR HY000: Operation CREATE USER failed for 'u1'@'%'
+ERROR HY000: Operation CREATE USER failed for 'u1'@'%',user already exists
CREATE USER u2;
-ERROR HY000: Operation CREATE USER failed for 'u2'@'%'
+ERROR HY000: Operation CREATE USER failed for 'u2'@'%',user already exists
CREATE OR REPLACE USER u1 IDENTIFIED BY PASSWORD 'password', u2;
ERROR HY000: Password hash should be a 41-digit hexadecimal number
CREATE OR REPLACE USER u1 IDENTIFIED BY PASSWORD 'abcdefghijklmnop', u2;
diff --git a/mysql-test/r/grant.result b/mysql-test/r/grant.result
index bd24c5bf380..d36f4b582ea 100644
--- a/mysql-test/r/grant.result
+++ b/mysql-test/r/grant.result
@@ -844,11 +844,11 @@ flush privileges;
create user mysqltest_8@'';
create user mysqltest_8@host8;
create user mysqltest_8@'';
-ERROR HY000: Operation CREATE USER failed for 'mysqltest_8'@'%'
+ERROR HY000: Operation CREATE USER failed for 'mysqltest_8'@'%',user already exists
create user mysqltest_8;
-ERROR HY000: Operation CREATE USER failed for 'mysqltest_8'@'%'
+ERROR HY000: Operation CREATE USER failed for 'mysqltest_8'@'%',user already exists
create user mysqltest_8@host8;
-ERROR HY000: Operation CREATE USER failed for 'mysqltest_8'@'host8'
+ERROR HY000: Operation CREATE USER failed for 'mysqltest_8'@'host8',user already exists
select user, QUOTE(host) from mysql.user where user="mysqltest_8";
user QUOTE(host)
mysqltest_8 '%'
diff --git a/mysql-test/r/grant2.result b/mysql-test/r/grant2.result
index ffb41c1b5f8..6307801ac4d 100644
--- a/mysql-test/r/grant2.result
+++ b/mysql-test/r/grant2.result
@@ -174,7 +174,7 @@ create table t1(c1 int);
create table t2(c1 int, c2 int);
create user 'mysqltest_1';
create user 'mysqltest_1';
-ERROR HY000: Operation CREATE USER failed for 'mysqltest_1'@'%'
+ERROR HY000: Operation CREATE USER failed for 'mysqltest_1'@'%',user already exists
create user 'mysqltest_2' identified by 'Mysqltest-2';
create user 'mysqltest_3' identified by password 'fffffffffffffffffffffffffffffffffffffffff';
grant select on *.* to 'mysqltest_2';
@@ -279,7 +279,7 @@ ERROR HY000: Operation DROP USER failed for 'mysqltest_1'@'%','mysqltest_2'@'%',
drop user 'mysqltest_1a', 'mysqltest_2a', 'mysqltest_3a';
create user 'mysqltest_1', 'mysqltest_2', 'mysqltest_3';
create user 'mysqltest_1a', 'mysqltest_2', 'mysqltest_3a';
-ERROR HY000: Operation CREATE USER failed for 'mysqltest_2'@'%'
+ERROR HY000: Operation CREATE USER failed for 'mysqltest_2'@'%',user already exists
rename user 'mysqltest_1a' to 'mysqltest_1b', 'mysqltest_2a' TO 'mysqltest_2b', 'mysqltest_3a' TO 'mysqltest_3b';
ERROR HY000: Operation RENAME USER failed for 'mysqltest_2a'@'%'
drop user 'mysqltest_1', 'mysqltest_2', 'mysqltest_3';
diff --git a/mysql-test/r/not_embedded_server.result b/mysql-test/r/not_embedded_server.result
index ba68ca8619b..7c9126a5bcc 100644
--- a/mysql-test/r/not_embedded_server.result
+++ b/mysql-test/r/not_embedded_server.result
@@ -60,39 +60,39 @@ SET @@sql_mode='';
# USER NAME CONTAINING BACKSLASH IN CREATE USER OPERATION
CREATE USER 'user\'s_12601974'@'localhost';
CREATE USER 'user\'s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\'s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\'s_12601974'@'localhost',user already exists
DROP USER 'user\'s_12601974'@'localhost';
CREATE USER 'user\"s_12601974'@'localhost';
CREATE USER 'user\"s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\"s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\"s_12601974'@'localhost',user already exists
DROP USER 'user\"s_12601974'@'localhost';
CREATE USER 'user\bs_12601974'@'localhost';
CREATE USER 'user\bs_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'users_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'users_12601974'@'localhost',user already exists
DROP USER 'user\bs_12601974'@'localhost';
CREATE USER 'user\ns_12601974'@'localhost';
CREATE USER 'user\ns_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\ns_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\ns_12601974'@'localhost',user already exists
DROP USER 'user\ns_12601974'@'localhost';
CREATE USER 'user\rs_12601974'@'localhost';
CREATE USER 'user\rs_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\rs_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\rs_12601974'@'localhost',user already exists
DROP USER 'user\rs_12601974'@'localhost';
CREATE USER 'user\ts_12601974'@'localhost';
CREATE USER 'user\ts_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user s_12601974'@'localhost',user already exists
DROP USER 'user\ts_12601974'@'localhost';
CREATE USER 'user\\s_12601974'@'localhost';
CREATE USER 'user\\s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\\s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\\s_12601974'@'localhost',user already exists
DROP USER 'user\\s_12601974'@'localhost';
CREATE USER 'user\%s_12601974'@'localhost';
CREATE USER 'user\%s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\\%s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\\%s_12601974'@'localhost',user already exists
DROP USER 'user\%s_12601974'@'localhost';
CREATE USER 'user\_s_12601974'@'localhost';
CREATE USER 'user\_s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\\_s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\\_s_12601974'@'localhost',user already exists
DROP USER 'user\_s_12601974'@'localhost';
# END OF CASE - USER NAME CONTAINING BACKSLASH IN CREATE USER OPERATION
@@ -100,35 +100,35 @@ SET @@sql_mode='NO_BACKSLASH_ESCAPES';
# USER NAME CONTAINING BACKSLASH IN DROP USER OPERATION
CREATE USER 'user\"s_12601974'@'localhost';
CREATE USER 'user\"s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\"s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\"s_12601974'@'localhost',user already exists
DROP USER 'user\"s_12601974'@'localhost';
CREATE USER 'user\bs_12601974'@'localhost';
CREATE USER 'user\bs_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\bs_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\bs_12601974'@'localhost',user already exists
DROP USER 'user\bs_12601974'@'localhost';
CREATE USER 'user\ns_12601974'@'localhost';
CREATE USER 'user\ns_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\ns_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\ns_12601974'@'localhost',user already exists
DROP USER 'user\ns_12601974'@'localhost';
CREATE USER 'user\rs_12601974'@'localhost';
CREATE USER 'user\rs_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\rs_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\rs_12601974'@'localhost',user already exists
DROP USER 'user\rs_12601974'@'localhost';
CREATE USER 'user\ts_12601974'@'localhost';
CREATE USER 'user\ts_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\ts_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\ts_12601974'@'localhost',user already exists
DROP USER 'user\ts_12601974'@'localhost';
CREATE USER 'user\\s_12601974'@'localhost';
CREATE USER 'user\\s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\\s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\\s_12601974'@'localhost',user already exists
DROP USER 'user\\s_12601974'@'localhost';
CREATE USER 'user\%s_12601974'@'localhost';
CREATE USER 'user\%s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\%s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\%s_12601974'@'localhost',user already exists
DROP USER 'user\%s_12601974'@'localhost';
CREATE USER 'user\_s_12601974'@'localhost';
CREATE USER 'user\_s_12601974'@'localhost';
-ERROR HY000: Operation CREATE USER failed for 'user\_s_12601974'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'user\_s_12601974'@'localhost',user already exists
DROP USER 'user\_s_12601974'@'localhost';
# END OF CASE - USER NAME CONTAINING BACKSLASH IN CREATE USER OPERATION
diff --git a/mysql-test/r/plugin_auth_qa.result b/mysql-test/r/plugin_auth_qa.result
index 4f274c45971..9f12679b44c 100644
--- a/mysql-test/r/plugin_auth_qa.result
+++ b/mysql-test/r/plugin_auth_qa.result
@@ -164,9 +164,9 @@ GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH 'test_plugin_serv
DROP USER plug;
GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
-ERROR HY000: Operation CREATE USER failed for 'plug'@'%'
+ERROR HY000: Operation CREATE USER failed for 'plug'@'%',user already exists
CREATE USER plug IDENTIFIED WITH 'test_plugin_server';
-ERROR HY000: Operation CREATE USER failed for 'plug'@'%'
+ERROR HY000: Operation CREATE USER failed for 'plug'@'%',user already exists
DROP USER plug;
CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
SELECT user,plugin,authentication_string,password FROM mysql.user WHERE user != 'root';
@@ -179,7 +179,7 @@ plug *939AEE68989794C0F408277411C26055CDF41119
DROP USER plug;
GRANT ALL PRIVILEGES ON test_user_db.* TO plug IDENTIFIED WITH test_plugin_server AS 'plug_dest';
CREATE USER plug IDENTIFIED BY 'plug_dest_passwd';
-ERROR HY000: Operation CREATE USER failed for 'plug'@'%'
+ERROR HY000: Operation CREATE USER failed for 'plug'@'%',user already exists
DROP USER plug;
CREATE USER plug IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
CREATE USER plug_dest IDENTIFIED WITH 'test_plugin_server' AS 'plug_dest';
diff --git a/mysql-test/r/ps.result b/mysql-test/r/ps.result
index f1f779ef03f..5c03556826b 100644
--- a/mysql-test/r/ps.result
+++ b/mysql-test/r/ps.result
@@ -2673,7 +2673,7 @@ call proc_1();
drop user pstest_xyz@localhost;
call proc_1();
call proc_1();
-ERROR HY000: Operation CREATE USER failed for 'pstest_xyz'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'pstest_xyz'@'localhost',user already exists
drop user pstest_xyz@localhost;
call proc_1();
drop user pstest_xyz@localhost;
@@ -2689,7 +2689,7 @@ execute abc;
drop user pstest_xyz@localhost;
execute abc;
execute abc;
-ERROR HY000: Operation CREATE USER failed for 'pstest_xyz'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'pstest_xyz'@'localhost',user already exists
drop user pstest_xyz@localhost;
execute abc;
drop user pstest_xyz@localhost;
diff --git a/mysql-test/suite/roles/create_and_drop_current.result b/mysql-test/suite/roles/create_and_drop_current.result
index 7e847677364..0c770ca70c1 100644
--- a/mysql-test/suite/roles/create_and_drop_current.result
+++ b/mysql-test/suite/roles/create_and_drop_current.result
@@ -1,13 +1,13 @@
create user foo@localhost;
grant create user on *.* to foo@localhost;
create user current_user;
-ERROR HY000: Operation CREATE USER failed for CURRENT_USER
+ERROR HY000: Operation CREATE USER failed for CURRENT_USER,user already exists
create user current_role;
-ERROR HY000: Operation CREATE USER failed for CURRENT_ROLE
+ERROR HY000: Operation CREATE USER failed for CURRENT_ROLE,user already exists
create role current_user;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'current_user' at line 1
create role current_role;
-ERROR HY000: Operation CREATE ROLE failed for CURRENT_ROLE
+ERROR HY000: Operation CREATE ROLE failed for CURRENT_ROLE,role already exists
drop user current_user;
drop user current_role;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'current_role' at line 1
@@ -26,9 +26,9 @@ select current_role();
current_role()
r1
create user current_role;
-ERROR HY000: Operation CREATE USER failed for CURRENT_ROLE
+ERROR HY000: Operation CREATE USER failed for CURRENT_ROLE,user already exists
create role current_role;
-ERROR HY000: Operation CREATE ROLE failed for CURRENT_ROLE
+ERROR HY000: Operation CREATE ROLE failed for CURRENT_ROLE,role already exists
drop user current_role;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'current_role' at line 1
drop role current_role;
diff --git a/mysql-test/suite/roles/create_and_drop_role.result b/mysql-test/suite/roles/create_and_drop_role.result
index b13f6eb4cb8..2ab418ef14b 100644
--- a/mysql-test/suite/roles/create_and_drop_role.result
+++ b/mysql-test/suite/roles/create_and_drop_role.result
@@ -15,9 +15,9 @@ drop role test_role1;
drop role test_role2, test_role3;
create role test_role1;
create role test_role1;
-ERROR HY000: Operation CREATE ROLE failed for 'test_role1'
+ERROR HY000: Operation CREATE ROLE failed for 'test_role1',role already exists
create role test_role1, test_role2;
-ERROR HY000: Operation CREATE ROLE failed for 'test_role1'
+ERROR HY000: Operation CREATE ROLE failed for 'test_role1',role already exists
select user, host, is_role from user where user like 'test%';
user host is_role
test_role1 Y
diff --git a/mysql-test/suite/roles/prepare_stmt_with_role.result b/mysql-test/suite/roles/prepare_stmt_with_role.result
index b2af23c8fbb..073d4363990 100644
--- a/mysql-test/suite/roles/prepare_stmt_with_role.result
+++ b/mysql-test/suite/roles/prepare_stmt_with_role.result
@@ -22,7 +22,7 @@ GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
GRANT PROXY ON ''@'%' TO 'root'@'localhost' WITH GRANT OPTION
# Test reexecution.
EXECUTE stmtCreateRole;
-ERROR HY000: Operation CREATE ROLE failed for 'developers'
+ERROR HY000: Operation CREATE ROLE failed for 'developers',role already exists
#
# Now grant the role to the test user.
#
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_role.result b/mysql-test/suite/rpl/r/rpl_create_drop_role.result
index 7a733614012..b20387369ce 100644
--- a/mysql-test/suite/rpl/r/rpl_create_drop_role.result
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_role.result
@@ -29,7 +29,7 @@ role_2
role_3
connection master;
CREATE ROLE role_2;
-ERROR HY000: Operation CREATE ROLE failed for 'role_2'
+ERROR HY000: Operation CREATE ROLE failed for 'role_2',role already exists
connection slave;
SELECT User FROM mysql.user WHERE is_role='Y' ORDER BY User;
User
diff --git a/mysql-test/suite/rpl/r/rpl_create_drop_user.result b/mysql-test/suite/rpl/r/rpl_create_drop_user.result
index f8cc271e8cf..ab8ed10c115 100644
--- a/mysql-test/suite/rpl/r/rpl_create_drop_user.result
+++ b/mysql-test/suite/rpl/r/rpl_create_drop_user.result
@@ -46,7 +46,7 @@ u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
u2
connection master;
CREATE USER u1@localhost;
-ERROR HY000: Operation CREATE USER failed for 'u1'@'localhost'
+ERROR HY000: Operation CREATE USER failed for 'u1'@'localhost',user already exists
DROP USER u3@localhost;
ERROR HY000: Operation DROP USER failed for 'u3'@'localhost'
connection slave;
diff --git a/mysql-test/suite/rpl/r/rpl_user.result b/mysql-test/suite/rpl/r/rpl_user.result
index 2a8bf69501c..488d93fdc6e 100644
--- a/mysql-test/suite/rpl/r/rpl_user.result
+++ b/mysql-test/suite/rpl/r/rpl_user.result
@@ -11,9 +11,9 @@ set session sql_log_bin=1;
connection master;
create user 'foo'@'fakehost';
create user 'foo'@'fakehost', 'bar'@'fakehost';
-ERROR HY000: Operation CREATE USER failed for 'foo'@'fakehost'
+ERROR HY000: Operation CREATE USER failed for 'foo'@'fakehost',user already exists
create user 'foo'@'fakehost', 'bar'@'fakehost';
-ERROR HY000: Operation CREATE USER failed for 'foo'@'fakehost','bar'@'fakehost'
+ERROR HY000: Operation CREATE USER failed for 'foo'@'fakehost','bar'@'fakehost',user already exists
connection slave;
select Host,User from mysql.user where Host='fakehost';
Host User
diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
index 89fecc92e9b..c7966c0caa9 100644
--- a/sql/sql_acl.cc
+++ b/sql/sql_acl.cc
@@ -10353,6 +10353,9 @@ bool mysql_create_user(THD *thd, List <LEX_USER> &list, bool handle_as_role)
if (result)
{
+ const char *c= (handle_as_role) ? "role already exists" : \
+ "user already exists";
+ append_str(&wrong_users, c, strlen(c));
my_error(ER_CANNOT_USER, MYF(0),
(handle_as_role) ? "CREATE ROLE" : "CREATE USER",
wrong_users.c_ptr_safe());
@@ -10463,10 +10466,14 @@ bool mysql_drop_user(THD *thd, List <LEX_USER> &list, bool handle_as_role)
mysql_mutex_unlock(&acl_cache->lock);
- if (result)
+ if (result){
+ const char *c= (handle_as_role) ? "role doesn't exist" : \
+ "user doesn't exist";
+ append_str(&wrong_users, c, strlen(c));
my_error(ER_CANNOT_USER, MYF(0),
(handle_as_role) ? "DROP ROLE" : "DROP USER",
wrong_users.c_ptr_safe());
+ }
if (binlog)
result |= write_bin_log(thd, FALSE, thd->query(), thd->query_length());
@@ -10556,9 +10563,11 @@ bool mysql_rename_user(THD *thd, List <LEX_USER> &list)
mysql_mutex_unlock(&acl_cache->lock);
- if (result)
+ if (result){
+ const char *c= "user doesn't exist";
+ append_str(&wrong_users, c, strlen(c));
my_error(ER_CANNOT_USER, MYF(0), "RENAME USER", wrong_users.c_ptr_safe());
-
+ }
if (some_users_renamed && mysql_bin_log.is_open())
result |= write_bin_log(thd, FALSE, thd->query(), thd->query_length());
@@ -10621,6 +10630,8 @@ int mysql_alter_user(THD* thd, List<LEX_USER> &users_list)
/* 'if exists' flag leads to warnings instead of errors. */
if (thd->lex->create_info.if_exists())
{
+ const char *c= "user doesn't exist";
+ append_str(&wrong_users, c, strlen(c));
push_warning_printf(thd, Sql_condition::WARN_LEVEL_NOTE,
ER_CANNOT_USER,
ER_THD(thd, ER_CANNOT_USER),
@@ -10629,6 +10640,8 @@ int mysql_alter_user(THD* thd, List<LEX_USER> &users_list)
}
else
{
+ const char *c= "user doesn't exist";
+ append_str(&wrong_users, c, strlen(c));
my_error(ER_CANNOT_USER, MYF(0),
"ALTER USER",
wrong_users.c_ptr_safe());