Commit 44a599a3 authored by guilhem@mysql.com's avatar guilhem@mysql.com

Fix for BUG#5064 "SET GLOBAL SYNC_BINLOG does not work on some platforms":

var->save_result.ulong_value was 0 on Mac OS X probably due to positions
of members in the union. sys_var::check() only sets ulonglong_value
parent e0ea65e1
...@@ -34,6 +34,12 @@ ...@@ -34,6 +34,12 @@
- If the variable should show up in 'show variables' add it to the - If the variable should show up in 'show variables' add it to the
init_vars[] struct in this file init_vars[] struct in this file
NOTES:
- Be careful with var->save_result: sys_var::check() only updates
ulonglong_value; so other members of the union are garbage then; to use
them you must first assign a value to them (in specific ::check() for
example).
TODO: TODO:
- Add full support for the variable character_set (for 4.1) - Add full support for the variable character_set (for 4.1)
...@@ -2332,7 +2338,7 @@ bool sys_var_slave_skip_counter::update(THD *thd, set_var *var) ...@@ -2332,7 +2338,7 @@ bool sys_var_slave_skip_counter::update(THD *thd, set_var *var)
bool sys_var_sync_binlog_period::update(THD *thd, set_var *var) bool sys_var_sync_binlog_period::update(THD *thd, set_var *var)
{ {
pthread_mutex_t *lock_log= mysql_bin_log.get_log_lock(); pthread_mutex_t *lock_log= mysql_bin_log.get_log_lock();
sync_binlog_period= var->save_result.ulong_value; sync_binlog_period= (ulong) var->save_result.ulonglong_value;
/* /*
Must reset the counter otherwise it may already be beyond the new period Must reset the counter otherwise it may already be beyond the new period
and so the new period will not be taken into account. Need mutex otherwise and so the new period will not be taken into account. Need mutex otherwise
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment