mirror of
https://github.com/MariaDB/server.git
synced 2026-05-06 15:15:34 +02:00
Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name>
value" error even though the value was correct): a C function in my_getopt.c was taking bool* in parameter and was called from C++ sql_plugin.cc, but on some Mac OS X sizeof(bool) is 1 in C and 4 in C++, giving funny mismatches. Fixed, all other occurences of bool in C are removed, future ones are blocked by a "C-bool-catcher" in my_global.h (use my_bool). client/mysqldump.c: my_bool for C client/mysqltest.c: my_bool for C extra/replace.c: my_bool for C include/my_getopt.h: my_bool for C include/my_global.h: Prevent people from using bool in C, it causes real bugs. include/my_sys.h: my_bool for C include/my_time.h: my_bool for C include/thr_lock.h: my_bool for C libmysql/libmysql.c: my_bool for C mysys/charset.c: my_bool for C mysys/my_getopt.c: my_bool for C mysys/queues.c: my_bool for C mysys/thr_lock.c: my_bool for C regex/reginit.c: my_bool for C sql/set_var.cc: C functions use my_bool so we must use my_bool too. sql/sql_plugin.cc: C functions use my_bool so we must use my_bool too. This fixes a real observed bug of Maria, because on some Mac OS X, sizeof(bool) is 1 in C and 4 in C++, so the bool* does wrong. Removing useless line. storage/heap/hp_update.c: my_bool for C storage/myisam/mi_check.c: my_bool for C storage/myisam/mi_dynrec.c: my_bool for C storage/myisam/mi_search.c: my_bool for C storage/myisam/mi_update.c: my_bool for C storage/myisam/mi_write.c: my_bool for C storage/myisam/myisamdef.h: my_bool for C storage/myisam/myisamlog.c: my_bool for C storage/myisam/myisampack.c: my_bool for C tests/mysql_client_test.c: my_bool for C unittest/mysys/bitmap-t.c: my_bool for C vio/viosslfactories.c: my_bool for C
This commit is contained in:
parent
df2cf8c78d
commit
85213f6235
28 changed files with 82 additions and 78 deletions
|
|
@ -1219,7 +1219,7 @@ static void throw_bounds_warning(THD *thd, const char *name, ulonglong num)
|
|||
static ulonglong fix_unsigned(THD *thd, ulonglong num,
|
||||
const struct my_option *option_limits)
|
||||
{
|
||||
bool fixed= FALSE;
|
||||
my_bool fixed= FALSE;
|
||||
ulonglong out= getopt_ull_limit_value(num, option_limits, &fixed);
|
||||
|
||||
if (fixed)
|
||||
|
|
@ -1279,7 +1279,7 @@ bool sys_var_long_ptr_global::update(THD *thd, set_var *var)
|
|||
|
||||
void sys_var_long_ptr_global::set_default(THD *thd, enum_var_type type)
|
||||
{
|
||||
bool not_used;
|
||||
my_bool not_used;
|
||||
pthread_mutex_lock(guard);
|
||||
*value= (ulong) getopt_ull_limit_value((ulong) option_limits->def_value,
|
||||
option_limits, ¬_used);
|
||||
|
|
@ -1302,7 +1302,7 @@ bool sys_var_ulonglong_ptr::update(THD *thd, set_var *var)
|
|||
|
||||
void sys_var_ulonglong_ptr::set_default(THD *thd, enum_var_type type)
|
||||
{
|
||||
bool not_used;
|
||||
my_bool not_used;
|
||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||
*value= getopt_ull_limit_value((ulonglong) option_limits->def_value,
|
||||
option_limits, ¬_used);
|
||||
|
|
@ -1382,7 +1382,7 @@ void sys_var_thd_ulong::set_default(THD *thd, enum_var_type type)
|
|||
{
|
||||
if (type == OPT_GLOBAL)
|
||||
{
|
||||
bool not_used;
|
||||
my_bool not_used;
|
||||
/* We will not come here if option_limits is not set */
|
||||
global_system_variables.*offset=
|
||||
(ulong) getopt_ull_limit_value((ulong) option_limits->def_value,
|
||||
|
|
@ -1429,7 +1429,7 @@ void sys_var_thd_ha_rows::set_default(THD *thd, enum_var_type type)
|
|||
{
|
||||
if (type == OPT_GLOBAL)
|
||||
{
|
||||
bool not_used;
|
||||
my_bool not_used;
|
||||
/* We will not come here if option_limits is not set */
|
||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||
global_system_variables.*offset=
|
||||
|
|
@ -1481,7 +1481,7 @@ void sys_var_thd_ulonglong::set_default(THD *thd, enum_var_type type)
|
|||
{
|
||||
if (type == OPT_GLOBAL)
|
||||
{
|
||||
bool not_used;
|
||||
my_bool not_used;
|
||||
pthread_mutex_lock(&LOCK_global_system_variables);
|
||||
global_system_variables.*offset=
|
||||
getopt_ull_limit_value((ulonglong) option_limits->def_value,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue