#At file:///home/thek/Development/cpp/mysqlbzr/mysql-5.1-bugteam/
2683 Kristofer Pettersson 2008-08-06 [merge]
Manual merge 5.0->5.1
modified:
sql/share/errmsg.txt
sql/sql_acl.cc
sql/sql_parse.cc
=== modified file 'sql/share/errmsg.txt'
--- a/sql/share/errmsg.txt 2008-07-24 13:41:55 +0000
+++ b/sql/share/errmsg.txt 2008-08-06 14:20:41 +0000
@@ -4718,7 +4718,7 @@ ER_SLAVE_IGNORED_TABLE
swe "Slav SQL tr�n ignorerade fr�n pga en replicate-*-table regel"
ER_INCORRECT_GLOBAL_LOCAL_VAR
eng "Variable '%-.192s' is a %s variable"
- serbian "Incorrect foreign key definition for '%-.192s': %s"
+ serbian "Promenljiva '%-.192s' je %s promenljiva"
ger "Variable '%-.192s' ist eine %s-Variable"
nla "Variabele '%-.192s' is geen %s variabele"
spa "Variable '%-.192s' es una %s variable"
=== modified file 'sql/sql_acl.cc'
--- a/sql/sql_acl.cc 2008-07-17 18:26:55 +0000
+++ b/sql/sql_acl.cc 2008-08-06 14:20:41 +0000
@@ -5701,7 +5701,6 @@ bool mysql_drop_user(THD *thd, List <LEX
while ((tmp_user_name= user_list++))
{
- user_name= get_current_user(thd, tmp_user_name);
if (!(user_name= get_current_user(thd, tmp_user_name)))
{
result= TRUE;
=== modified file 'sql/sql_parse.cc'
--- a/sql/sql_parse.cc 2008-07-15 01:43:12 +0000
+++ b/sql/sql_parse.cc 2008-08-06 14:20:41 +0000
@@ -6484,15 +6484,24 @@ bool reload_acl_and_cache(THD *thd, ulon
thd->store_globals();
lex_start(thd);
}
+
if (thd)
{
- if (acl_reload(thd))
- result= 1;
- if (grant_reload(thd))
+ bool reload_acl_failed= acl_reload(thd);
+ bool reload_grants_failed= grant_reload(thd);
+ bool reload_servers_failed= servers_reload(thd);
+
+ if (reload_acl_failed || reload_grants_failed || reload_servers_failed)
+ {
result= 1;
- if (servers_reload(thd))
- result= 1; /* purecov: inspected */
+ /*
+ When an error is returned, my_message may have not been called and
+ the client will hang waiting for a response.
+ */
+ my_error(ER_UNKNOWN_ERROR, MYF(0), "FLUSH PRIVILEGES failed");
+ }
}
+
if (tmp_thd)
{
delete tmp_thd;
@@ -6581,8 +6590,10 @@ bool reload_acl_and_cache(THD *thd, ulon
tmp_write_to_binlog= 0;
if (lock_global_read_lock(thd))
return 1; // Killed
- result= close_cached_tables(thd, tables, FALSE, (options & REFRESH_FAST) ?
- FALSE : TRUE, TRUE);
+ if (close_cached_tables(thd, tables, FALSE, (options & REFRESH_FAST) ?
+ FALSE : TRUE, TRUE));
+ result= 1;
+
if (make_global_read_lock_block_commit(thd)) // Killed
{
/* Don't leave things in a half-locked state */
@@ -6591,8 +6602,11 @@ bool reload_acl_and_cache(THD *thd, ulon
}
}
else
- result= close_cached_tables(thd, tables, FALSE, (options & REFRESH_FAST) ?
- FALSE : TRUE, FALSE);
+ {
+ if (close_cached_tables(thd, tables, FALSE, (options & REFRESH_FAST) ?
+ FALSE : TRUE, FALSE));
+ result= 1;
+ }
my_dbopt_cleanup();
}
if (options & REFRESH_HOSTS)
@@ -6615,8 +6629,8 @@ bool reload_acl_and_cache(THD *thd, ulon
#ifdef OPENSSL
if (options & REFRESH_DES_KEY_FILE)
{
- if (des_key_file)
- result=load_des_key_file(des_key_file);
+ if (des_key_file && load_des_key_file(des_key_file))
+ result= 1;
}
#endif
#ifdef HAVE_REPLICATION
| Thread |
|---|
| • bzr commit into mysql-5.1 branch (kpettersson:2683) | Kristofer Pettersson | 6 Aug |