diff options
author | unknown <guilhem@gbichot4.local> | 2008-02-18 23:29:39 +0100 |
---|---|---|
committer | unknown <guilhem@gbichot4.local> | 2008-02-18 23:29:39 +0100 |
commit | 85213f6235aa344f7861cc2f9a151869e041cb9e (patch) | |
tree | 7bffd7a5bcb1eea8fb0183e3a4e3a40cf6a783a6 /storage/myisam/mi_write.c | |
parent | df2cf8c78dc022472dd22584a140f579ad8cfe03 (diff) | |
download | mariadb-git-85213f6235aa344f7861cc2f9a151869e041cb9e.tar.gz |
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
Diffstat (limited to 'storage/myisam/mi_write.c')
-rw-r--r-- | storage/myisam/mi_write.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/storage/myisam/mi_write.c b/storage/myisam/mi_write.c index 70ba7a4588a..89782fbae1a 100644 --- a/storage/myisam/mi_write.c +++ b/storage/myisam/mi_write.c @@ -102,9 +102,9 @@ int mi_write(MI_INFO *info, uchar *record) { if (mi_is_key_active(share->state.key_map, i)) { - bool local_lock_tree= (lock_tree && - !(info->bulk_insert && - is_tree_inited(&info->bulk_insert[i]))); + my_bool local_lock_tree= (lock_tree && + !(info->bulk_insert && + is_tree_inited(&info->bulk_insert[i]))); if (local_lock_tree) { rw_wrlock(&share->key_root_lock[i]); @@ -193,9 +193,9 @@ err: { if (mi_is_key_active(share->state.key_map, i)) { - bool local_lock_tree= (lock_tree && - !(info->bulk_insert && - is_tree_inited(&info->bulk_insert[i]))); + my_bool local_lock_tree= (lock_tree && + !(info->bulk_insert && + is_tree_inited(&info->bulk_insert[i]))); if (local_lock_tree) rw_wrlock(&share->key_root_lock[i]); if (share->keyinfo[i].flag & HA_FULLTEXT) |