Loading include/my_global.h +10 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,16 @@ #endif #endif /* _WIN32... */ /* sometimes we want to make sure that the variable is not put into a register in debugging mode so we can see its value in the core */ #ifndef DBUG_OFF #define dbug_volatile volatile #else #define dbug_volatile #endif /* The macros below are borrowed from include/linux/compiler.h in the Linux kernel. Use them to indicate the likelyhood of the truthfulness Loading mysys/mf_iocache2.c +8 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,10 @@ my_off_t my_b_append_tell(IO_CACHE* info) { my_off_t res; /* prevent optimizer from putting res in a register when debugging we need this to be able to see the value of res when the assert fails */ dbug_volatile my_off_t res; /* we need to lock the append buffer mutex to keep flush_io_cache() from messing with the variables that we need in order to provide the answer to the question. Loading @@ -35,8 +38,11 @@ my_off_t my_b_append_tell(IO_CACHE* info) #ifdef THREAD pthread_mutex_lock(&info->append_buffer_lock); #endif /* save the value of my_tell in res so we can see it when studying coredump */ DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer) == my_tell(info->file,MYF(0))); == (res=my_tell(info->file,MYF(0)))); res = info->end_of_file + (info->write_pos-info->append_read_pos); #ifdef THREAD pthread_mutex_unlock(&info->append_buffer_lock); Loading sql/item_func.cc +3 −0 Original line number Diff line number Diff line Loading @@ -1418,16 +1418,19 @@ void item_user_lock_release(ULL *ull) if (mysql_bin_log.is_open()) { THD *thd = current_thd; uint save_query_length; char buf[256]; String tmp(buf,sizeof(buf)); tmp.length(0); tmp.append("DO RELEASE_LOCK(\""); tmp.append(ull->key,ull->key_length); tmp.append("\")"); save_query_length=thd->query_length; thd->query_length=tmp.length(); Query_log_event qev(thd,tmp.ptr()); qev.error_code=0; // this query is always safe to run on slave mysql_bin_log.write(&qev); thd->query_length=save_query_length; } if (--ull->count) pthread_cond_signal(&ull->cond); Loading Loading
include/my_global.h +10 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,16 @@ #endif #endif /* _WIN32... */ /* sometimes we want to make sure that the variable is not put into a register in debugging mode so we can see its value in the core */ #ifndef DBUG_OFF #define dbug_volatile volatile #else #define dbug_volatile #endif /* The macros below are borrowed from include/linux/compiler.h in the Linux kernel. Use them to indicate the likelyhood of the truthfulness Loading
mysys/mf_iocache2.c +8 −2 Original line number Diff line number Diff line Loading @@ -27,7 +27,10 @@ my_off_t my_b_append_tell(IO_CACHE* info) { my_off_t res; /* prevent optimizer from putting res in a register when debugging we need this to be able to see the value of res when the assert fails */ dbug_volatile my_off_t res; /* we need to lock the append buffer mutex to keep flush_io_cache() from messing with the variables that we need in order to provide the answer to the question. Loading @@ -35,8 +38,11 @@ my_off_t my_b_append_tell(IO_CACHE* info) #ifdef THREAD pthread_mutex_lock(&info->append_buffer_lock); #endif /* save the value of my_tell in res so we can see it when studying coredump */ DBUG_ASSERT(info->end_of_file - (info->append_read_pos-info->write_buffer) == my_tell(info->file,MYF(0))); == (res=my_tell(info->file,MYF(0)))); res = info->end_of_file + (info->write_pos-info->append_read_pos); #ifdef THREAD pthread_mutex_unlock(&info->append_buffer_lock); Loading
sql/item_func.cc +3 −0 Original line number Diff line number Diff line Loading @@ -1418,16 +1418,19 @@ void item_user_lock_release(ULL *ull) if (mysql_bin_log.is_open()) { THD *thd = current_thd; uint save_query_length; char buf[256]; String tmp(buf,sizeof(buf)); tmp.length(0); tmp.append("DO RELEASE_LOCK(\""); tmp.append(ull->key,ull->key_length); tmp.append("\")"); save_query_length=thd->query_length; thd->query_length=tmp.length(); Query_log_event qev(thd,tmp.ptr()); qev.error_code=0; // this query is always safe to run on slave mysql_bin_log.write(&qev); thd->query_length=save_query_length; } if (--ull->count) pthread_cond_signal(&ull->cond); Loading