mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
Fix for BUG#15110: mysqldump --triggers: does not include DEFINER clause
There are two main idea of this fix:
- introduce a common function for server and client to split user value
(<user name>@<host name>) into user name and host name parts;
- dump DEFINER clause in correct format in mysqldump.
BitKeeper/etc/ignore:
added client/my_user.c libmysqld/my_user.c sql/my_user.c
client/Makefile.am:
Use my_user.c in linking of mysqldump executable.
client/mysqldump.c:
Fix for BUG#15110(mysqldump --triggers: does not include DEFINER clause)
include/Makefile.am:
Add my_user.c
include/mysql_com.h:
Introduce a constant for max user length.
libmysqld/Makefile.am:
Add my_user.c
mysql-test/r/mysqldump.result:
Update result file.
sql-common/Makefile.am:
Add my_user.c
sql/Makefile.am:
Add my_user.c
sql/sp.cc:
Use constant for max user length.
sql/sp_head.cc:
Use common function to parse user value.
sql/sql_acl.cc:
Use constant for max user length.
sql/sql_parse.cc:
Use constant for max user length.
sql/sql_show.cc:
Use constant for max user length.
sql/sql_trigger.cc:
Use constant for max user length.
include/my_user.h:
A header file for parse_user().
sql-common/my_user.c:
A new file for parse_user() implementation.
This commit is contained in:
@@ -214,7 +214,7 @@ static int get_or_create_user_conn(THD *thd, const char *user,
|
||||
{
|
||||
int return_val= 0;
|
||||
uint temp_len, user_len;
|
||||
char temp_user[USERNAME_LENGTH+HOSTNAME_LENGTH+2];
|
||||
char temp_user[USER_HOST_BUFF_SIZE];
|
||||
struct user_conn *uc;
|
||||
|
||||
DBUG_ASSERT(user != 0);
|
||||
@@ -743,7 +743,7 @@ static void reset_mqh(LEX_USER *lu, bool get_them= 0)
|
||||
{
|
||||
USER_CONN *uc;
|
||||
uint temp_len=lu->user.length+lu->host.length+2;
|
||||
char temp_user[USERNAME_LENGTH+HOSTNAME_LENGTH+2];
|
||||
char temp_user[USER_HOST_BUFF_SIZE];
|
||||
|
||||
memcpy(temp_user,lu->user.str,lu->user.length);
|
||||
memcpy(temp_user+lu->user.length+1,lu->host.str,lu->host.length);
|
||||
|
||||
Reference in New Issue
Block a user