diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-04-12 01:01:18 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-04-12 01:01:18 +0200 |
commit | ce926c90accc6ca36c62f0b954e651d89db66da8 (patch) | |
tree | 737c9571a90e6e1f07be30d8bdc64c2f06d6fbf3 /sql/slave.cc | |
parent | 5ae72bb73cceafe5062be3827dbe3b4f488a7a73 (diff) | |
parent | ea4a417a8d456e8e09b6b4306f22c7c20b3e594c (diff) | |
download | mariadb-git-ce926c90accc6ca36c62f0b954e651d89db66da8.tar.gz |
5.3 merge
Diffstat (limited to 'sql/slave.cc')
-rw-r--r-- | sql/slave.cc | 19 |
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")) && |