List:Commits« Previous MessageNext Message »
From:Chad MILLER Date:February 1 2008 5:53pm
Subject:bk commit into 5.0 tree (cmiller:1.2572) BUG#34192
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of cmiller.  When cmiller does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-02-01 11:53:48-05:00, cmiller@stripped +1 -0
  Bug#34192: mysqldump from mysql 5.0.51 silently fails on dumping \
  	databases from 4.0 server
  
  Contribution from Arkadiusz Miskiewicz.  No CLA required for this size.
  
  mysqldump treated a failure to set the results charset as a severe
  error.  
  
  Now, don't try to set the charset for the SHOW CREATE TABLE statement,
  if the dumper doesn't want SET NAMES or the remote server doesn't 
  support changing charsets.
  
  (The original patch tried to set the charset to binary and back in 
  any case, and only exited-with-failure if the dumper wanted it and
  the remote server supported it.)

  client/mysqldump.c@stripped, 2008-02-01 11:53:46-05:00, cmiller@stripped +13 -3
    Don't set the charset for receiving results if it's not wanted or if
    the server doesn't support it.

diff -Nrup a/client/mysqldump.c b/client/mysqldump.c
--- a/client/mysqldump.c	2007-12-04 22:07:00 -05:00
+++ b/client/mysqldump.c	2008-02-01 11:53:46 -05:00
@@ -1705,10 +1705,20 @@ static uint get_table_structure(char *ta
 
       my_snprintf(buff, sizeof(buff), "show create table %s", result_table);
 
-      if (switch_character_set_results(mysql, "binary") ||
-          mysql_query_with_error_report(mysql, &result, buff) ||
-          switch_character_set_results(mysql, default_charset))
+      if (opt_set_charset)  /* Was forced to false if server is too old. */
+      {
+        if (switch_character_set_results(mysql, "binary") != 0)
+          DBUG_RETURN(0);
+      }
+
+      if (mysql_query_with_error_report(mysql, &result, buff) != 0)
         DBUG_RETURN(0);
+
+      if (opt_set_charset)  /* Was forced to false if server is too old. */
+      {
+        if (switch_character_set_results(mysql, default_charset) != 0)
+          DBUG_RETURN(0);
+      }
 
       if (path)
       {
Thread
bk commit into 5.0 tree (cmiller:1.2572) BUG#34192Chad MILLER1 Feb
  • Re: bk commit into 5.0 tree (cmiller:1.2572) BUG#34192Sergei Golubchik4 Feb
    • Re: bk commit into 5.0 tree (cmiller:1.2572) BUG#34192Alexander Nozdrin5 Feb