summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-04-12 01:01:18 +0200
committerSergei Golubchik <sergii@pisem.net>2013-04-12 01:01:18 +0200
commitce926c90accc6ca36c62f0b954e651d89db66da8 (patch)
tree737c9571a90e6e1f07be30d8bdc64c2f06d6fbf3 /sql/slave.cc
parent5ae72bb73cceafe5062be3827dbe3b4f488a7a73 (diff)
parentea4a417a8d456e8e09b6b4306f22c7c20b3e594c (diff)
downloadmariadb-git-ce926c90accc6ca36c62f0b954e651d89db66da8.tar.gz
5.3 merge
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc19
1 files changed, 10 insertions, 9 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index 16ef754c058..0a162f6fbaa 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1216,6 +1216,7 @@ static int get_master_version_and_clock(MYSQL* mysql, Master_info* mi)
int err_code= 0;
MYSQL_RES *master_res= 0;
MYSQL_ROW master_row;
+ uint version= mysql_get_server_version(mysql) / 10000;
DBUG_ENTER("get_master_version_and_clock");
/*
@@ -1236,20 +1237,20 @@ static int get_master_version_and_clock(MYSQL* mysql, Master_info* mi)
/*
Note the following switch will bug when we have MySQL branch 30 ;)
*/
- switch (*mysql->server_version)
+ switch (version)
{
- case '0':
- case '1':
- case '2':
+ case 0:
+ case 1:
+ case 2:
errmsg = "Master reported unrecognized MySQL version";
err_code= ER_SLAVE_FATAL_ERROR;
sprintf(err_buff, ER(err_code), errmsg);
break;
- case '3':
+ case 3:
mi->rli.relay_log.description_event_for_queue= new
Format_description_log_event(1, mysql->server_version);
break;
- case '4':
+ case 4:
mi->rli.relay_log.description_event_for_queue= new
Format_description_log_event(3, mysql->server_version);
break;
@@ -1470,10 +1471,10 @@ maybe it is a *VERY OLD MASTER*.");
*/
/* redundant with rest of code but safer against later additions */
- if (*mysql->server_version == '3')
+ if (version == 3)
goto err;
- if (*mysql->server_version == '4')
+ if (version == 4)
{
master_res= NULL;
if (!mysql_real_query(mysql,
@@ -1536,7 +1537,7 @@ inconsistency if replicated data deals with collation.");
This check is only necessary for 4.x masters (and < 5.0.4 masters but
those were alpha).
*/
- if (*mysql->server_version == '4')
+ if (version == 4)
{
master_res= NULL;
if (!mysql_real_query(mysql, STRING_WITH_LEN("SELECT @@GLOBAL.TIME_ZONE")) &&