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},
{"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)