summaryrefslogtreecommitdiff
path: root/sql/slave.cc
diff options
context:
space:
mode:
authorguilhem@mysql.com <>2005-01-17 21:26:14 +0100
committerguilhem@mysql.com <>2005-01-17 21:26:14 +0100
commit5e43cf86a68c609fa103fcbadafe716e62aa3f4f (patch)
tree8bb86f843e37c30100e00f977d356590ea12b595 /sql/slave.cc
parentda9f7c7ec4cf1a7bd434ac30bb390f35cfaa14cf (diff)
downloadmariadb-git-5e43cf86a68c609fa103fcbadafe716e62aa3f4f.tar.gz
Fix for BUG#7965 "Slave_IO_State Stuck at 'Checking Master Version'":
Working around hang of master < 3.23.50 on SELECT @@unknown_var (to enable 3.23.49->4.1.10 replication)
Diffstat (limited to 'sql/slave.cc')
-rw-r--r--sql/slave.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/sql/slave.cc b/sql/slave.cc
index ef9caa5f5b5..d85c44c915e 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -1243,7 +1243,11 @@ not always make sense; please check the manual before using it).";
values of these 2 are never used (new connections don't use them).
We don't test equality of global collation_database either as it's is
going to be deprecated (made read-only) in 4.1 very soon.
+ We don't do it for <3.23.57 because masters <3.23.50 hang on
+ SELECT @@unknown_var (BUG#7965 - see changelog of 3.23.50).
*/
+ if (mi->old_format == BINLOG_FORMAT_323_LESS_57)
+ goto err;
if (!mysql_real_query(mysql, "SELECT @@GLOBAL.COLLATION_SERVER", 32) &&
(master_res= mysql_store_result(mysql)))
{
@@ -1280,6 +1284,7 @@ be equal for replication to work";
mysql_free_result(master_res);
}
+err:
if (errmsg)
{
sql_print_error(errmsg);