summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2015-04-27 21:04:06 +0200
committerSergei Golubchik <serg@mariadb.org>2015-04-27 21:04:06 +0200
commit0f12ada6b6a390b8663151f5d8cfae2e6dc9c2bb (patch)
tree5af5b81499f6137f45a37fc77cc518e40fd4ad72 /sql/slave.cc
parente4df6e5799eec20a16e279f7e74e95f18cd475fe (diff)
parente02fe87f00dc9fdb0fb6ab13f2e87485f79f3341 (diff)
downloadmariadb-git-0f12ada6b6a390b8663151f5d8cfae2e6dc9c2bb.tar.gz
Merge remote-tracking branch 'mysql/5.5' into 5.5
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc22
1 files changed, 19 insertions, 3 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index f224de2e1ff..a03deb1e793 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1,5 +1,5 @@
-/* Copyright (c) 2000, 2013, Oracle and/or its affiliates.
- Copyright (c) 2008, 2014, SkySQL Ab.
+/* Copyright (c) 2000, 2015, Oracle and/or its affiliates.
+ Copyright (c) 2008, 2015, SkySQL Ab.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -4717,7 +4717,23 @@ static int connect_to_master(THD* thd, MYSQL* mysql, Master_info* mi,
}
#endif
- mysql_options(mysql, MYSQL_SET_CHARSET_NAME, default_charset_info->csname);
+ /*
+ If server's default charset is not supported (like utf16, utf32) as client
+ charset, then set client charset to 'latin1' (default client charset).
+ */
+ if (is_supported_parser_charset(default_charset_info))
+ mysql_options(mysql, MYSQL_SET_CHARSET_NAME, default_charset_info->csname);
+ else
+ {
+ sql_print_information("'%s' can not be used as client character set. "
+ "'%s' will be used as default client character set "
+ "while connecting to master.",
+ default_charset_info->csname,
+ default_client_charset_info->csname);
+ mysql_options(mysql, MYSQL_SET_CHARSET_NAME,
+ default_client_charset_info->csname);
+ }
+
/* This one is not strictly needed but we have it here for completeness */
mysql_options(mysql, MYSQL_SET_CHARSET_DIR, (char *) charsets_dir);