]> git.pld-linux.org Git - packages/mysql.git/blobdiff - mysql_dump_ignore_ct.patch
fox for bug #62472 (mysqlhotcopy errors on databases containing MyISAM)
[packages/mysql.git] / mysql_dump_ignore_ct.patch
index daaf2b987a8648338e4f5bd303edd775889087df..8cbdb14fbe3976122a761835683e0e06e8096489 100644 (file)
@@ -16,19 +16,18 @@ diff -ruN a/client/client_priv.h b/client/client_priv.h
    OPT_MYSQL_NUMBER_OF_QUERY,
    OPT_IGNORE_TABLE,OPT_INSERT_IGNORE,OPT_SHOW_WARNINGS,OPT_DROP_DATABASE,
    OPT_TZ_UTC, OPT_CREATE_SLAP_SCHEMA,
-diff -ruN a/client/mysqldump.c b/client/mysqldump.c
---- a/client/mysqldump.c       2010-11-03 07:01:14.000000000 +0900
-+++ b/client/mysqldump.c       2010-12-03 13:44:55.000069761 +0900
+--- mysql-5.5.9/client/mysqldump.c~    2011-03-10 20:05:49.000000000 +0200
++++ mysql-5.5.9/client/mysqldump.c     2011-03-10 20:19:55.962339580 +0200
 @@ -101,7 +101,7 @@
                  opt_dump_triggers= 0, opt_routines=0, opt_tz_utc=1,
                  opt_slave_apply= 0, 
                  opt_include_master_host_port= 0,
--                opt_events= 0,
-+                opt_events= 0, opt_ignore_show_create_table_error=0,
+-                opt_events= 0, opt_comments_used= 0,
++                opt_events= 0, opt_comments_used= 0, opt_ignore_show_create_table_error=0,
                  opt_alltspcs=0, opt_notspcs= 0;
  static my_bool insert_pat_inited= 0, debug_info_flag= 0, debug_check_flag= 0;
  static ulong opt_max_allowed_packet, opt_net_buffer_length;
-@@ -349,6 +349,9 @@
+@@ -350,6 +350,9 @@
    {"insert-ignore", OPT_INSERT_IGNORE, "Insert rows with INSERT IGNORE.",
     &opt_ignore, &opt_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
     0, 0},
@@ -38,25 +37,39 @@ diff -ruN a/client/mysqldump.c b/client/mysqldump.c
    {"lines-terminated-by", OPT_LTB,
     "Lines in the output file are terminated by the given string.",
     &lines_terminated, &lines_terminated, 0, GET_STR,
-@@ -2278,13 +2281,21 @@
-       /* Make an sql-file, if path was given iow. option -T was given */
+@@ -2297,21 +2297,35 @@
        char buff[20+FN_REFLEN];
        MYSQL_FIELD *field;
-+   
 +      my_bool old_ignore_errors=ignore_errors;
 +      //fprintf(stderr, "ignore create table %d\n", opt_ignore_show_create_table_error);
 +      if (opt_ignore_show_create_table_error)
 +         ignore_errors=1;
++
        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))
-+      {
-+        ignore_errors=old_ignore_errors;
+       if (opt_set_charset)  /* Was forced to false if server is too old. */
+       {
+         if (switch_character_set_results(mysql, "binary") != 0)
++       {
++         ignore_errors=old_ignore_errors;
+           DBUG_RETURN(0);
++       }
+       }
+       if (mysql_query_with_error_report(mysql, &result, buff) != 0)
++       {
++         ignore_errors=old_ignore_errors;
          DBUG_RETURN(0);
-+      }
++       }
  
-       if (path)
+       if (opt_set_charset)  /* Was forced to false if server is too old. */
        {
+         if (switch_character_set_results(mysql, default_charset) != 0)
++       {
++         ignore_errors=old_ignore_errors;
+           DBUG_RETURN(0);
++       }
+       }
+       if (path)
This page took 0.322629 seconds and 4 git commands to generate.