From 4337aa74e33a5a19e932f9e2f11ef61d97b652b0 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 5 May 2011 16:32:20 +0200 Subject: [PATCH] MWL#180: Fix bug where setting @@global.binlog_checksum did not actually change the value. --- mysql-test/suite/rpl/r/rpl_checksum.result | 9 +++++++++ mysql-test/suite/rpl/t/rpl_checksum.test | 3 +++ sql/log.cc | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/mysql-test/suite/rpl/r/rpl_checksum.result b/mysql-test/suite/rpl/r/rpl_checksum.result index 442f8ffcf86..3613ffd25e1 100644 --- a/mysql-test/suite/rpl/r/rpl_checksum.result +++ b/mysql-test/suite/rpl/r/rpl_checksum.result @@ -27,13 +27,22 @@ show binary logs; Log_name File_size master-bin.000001 # set @@global.binlog_checksum = NONE; +select @@global.binlog_checksum; +@@global.binlog_checksum +NONE *** must be rotations seen *** show binary logs; Log_name File_size master-bin.000001 # master-bin.000002 # set @@global.binlog_checksum = default; +select @@global.binlog_checksum; +@@global.binlog_checksum +NONE set @@global.binlog_checksum = CRC32; +select @@global.binlog_checksum; +@@global.binlog_checksum +CRC32 set @@global.binlog_checksum = CRC32; set @@global.master_verify_checksum = 0; set @@global.master_verify_checksum = default; diff --git a/mysql-test/suite/rpl/t/rpl_checksum.test b/mysql-test/suite/rpl/t/rpl_checksum.test index e2e7bd3b610..237fffaf33e 100644 --- a/mysql-test/suite/rpl/t/rpl_checksum.test +++ b/mysql-test/suite/rpl/t/rpl_checksum.test @@ -40,13 +40,16 @@ connection master; source include/show_binary_logs.inc; set @@global.binlog_checksum = NONE; +select @@global.binlog_checksum; --echo *** must be rotations seen *** source include/show_binary_logs.inc; set @@global.binlog_checksum = default; +select @@global.binlog_checksum; # testing lack of side-effects in non-effective update of binlog_checksum: set @@global.binlog_checksum = CRC32; +select @@global.binlog_checksum; set @@global.binlog_checksum = CRC32; set @@global.master_verify_checksum = 0; diff --git a/sql/log.cc b/sql/log.cc index 36152be3337..b41d47328a2 100644 --- a/sql/log.cc +++ b/sql/log.cc @@ -6994,7 +6994,7 @@ static void binlog_checksum_update(MYSQL_THD thd, struct st_mysql_sys_var *var, void *var_ptr, const void *save) { - ulong value= *((ulong *)var_ptr); + ulong value= *((ulong *)save); pthread_mutex_lock(mysql_bin_log.get_log_lock()); if(mysql_bin_log.is_open())