summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorunknown <anozdrin/alik@ibm.>2007-07-27 21:30:43 +0400
committerunknown <anozdrin/alik@ibm.>2007-07-27 21:30:43 +0400
commit4596ef83e7705c8d8ff408eaa9fb930a43775171 (patch)
tree77417998cc4a176a743cb99b4445355f370bc033 /client
parent818b0b84e0268e38a563dcf2c6ce0c3c2cf2f7f7 (diff)
parent2612fc43b53a69320ba41011aa632ec35b734211 (diff)
downloadmariadb-git-4596ef83e7705c8d8ff408eaa9fb930a43775171.tar.gz
Merge ibm.:/home/alik/Documents/MySQL/devel/5.0-rt
into ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merge mysql-test/r/mysqldump-max.result: Auto merged mysql-test/r/openssl_1.result: Auto merged mysql-test/t/show_check.test: Auto merged sql/sp.cc: Auto merged sql/sql_yacc.yy: Auto merged client/mysqldump.c: Manual merge. mysql-test/r/mysqldump.result: Manual merge + use local.
Diffstat (limited to 'client')
-rw-r--r--client/mysqldump.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c
index 6f0e30b8f35..82bf9fc555a 100644
--- a/client/mysqldump.c
+++ b/client/mysqldump.c
@@ -2116,7 +2116,10 @@ static uint get_table_structure(char *table, char *db, char *table_type,
MYSQL_FIELD *field;
my_snprintf(buff, sizeof(buff), "show create table %s", result_table);
- if (mysql_query_with_error_report(mysql, 0, buff))
+
+ if (switch_character_set_results(mysql, "binary") ||
+ mysql_query_with_error_report(mysql, &result, buff) ||
+ switch_character_set_results(mysql, default_charset))
DBUG_RETURN(0);
if (path)
@@ -2147,7 +2150,6 @@ static uint get_table_structure(char *table, char *db, char *table_type,
check_io(sql_file);
}
- result= mysql_store_result(mysql);
field= mysql_fetch_field_direct(result, 0);
if (strcmp(field->name, "View") == 0)
{
@@ -2248,7 +2250,14 @@ static uint get_table_structure(char *table, char *db, char *table_type,
}
row= mysql_fetch_row(result);
- fprintf(sql_file, "%s;\n", row[1]);
+
+ fprintf(sql_file,
+ "SET @saved_cs_client = @@character_set_client;\n"
+ "SET character_set_client = utf8;\n"
+ "%s;\n"
+ "SET character_set_client = @saved_cs_client;\n",
+ row[1]);
+
check_io(sql_file);
mysql_free_result(result);
}