List:Commits« Previous MessageNext Message »
From:Kristofer Pettersson Date:August 6 2008 4:21pm
Subject:bzr push into mysql-5.1 branch (kpettersson:2682 to 2683) Bug#37003
View as plain text  
 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

 2682 Davi Arnaut	2008-08-01
      Bug#37003: Tests sporadically crashes with embedded server
      
      Post-merge fix: Alter linking order so that the thread linking
      flags appear last in the list. This needs to be done this way
      because some linkers will not search the thread archive again
      if a undefined symbol (pthread_kill in this case) appears later.
modified:
  client/Makefile.am

=== 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 push into mysql-5.1 branch (kpettersson:2682 to 2683) Bug#37003Kristofer Pettersson6 Aug