diff options
author | Michael Widenius <monty@mysql.com> | 2009-11-16 17:34:08 +0200 |
---|---|---|
committer | Michael Widenius <monty@mysql.com> | 2009-11-16 17:34:08 +0200 |
commit | 815b9fedefa59b2807a5736b60a89c5ed98178d1 (patch) | |
tree | 159eca1f4fe3a921cdcb33f25eca32fa6271e094 /mysys/tree.c | |
parent | 9dfe197da96e89994b598edd76dd0c3e8b5d2e0c (diff) | |
download | mariadb-git-815b9fedefa59b2807a5736b60a89c5ed98178d1.tar.gz |
Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t
Don't retry test cases by default
Fixed bug where we could (under unlikely error conditions) access not initialized variable
include/my_tree.h:
Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t
(Pointed out by Bryan Aker)
mysql-test/mysql-test-run.pl:
Don't retry test cases by default
This makes it too easy to miss failures and we have anyway to fix race conditions, not ignore them.
mysys/tree.c:
Safety change to ensure read/black trees (used with heap tables) works on 64 bit setups where ulong <> size_t
sql/sql_delete.cc:
Fixed bug where we could (under unlikely error conditions) access not initialized variable.
(Pointed out by Bryan Aker)
Diffstat (limited to 'mysys/tree.c')
-rw-r--r-- | mysys/tree.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mysys/tree.c b/mysys/tree.c index ef33f75b7c6..e4854581204 100644 --- a/mysys/tree.c +++ b/mysys/tree.c @@ -77,13 +77,13 @@ static void rb_insert(TREE *tree,TREE_ELEMENT ***parent, static void rb_delete_fixup(TREE *tree,TREE_ELEMENT ***parent); - /* The actuall code for handling binary trees */ +/* The actual code for handling binary trees */ #ifndef DBUG_OFF static int test_rb_tree(TREE_ELEMENT *element); #endif -void init_tree(TREE *tree, ulong default_alloc_size, ulong memory_limit, +void init_tree(TREE *tree, size_t default_alloc_size, size_t memory_limit, int size, qsort_cmp2 compare, my_bool with_delete, tree_element_free free_element, void *custom_arg) { @@ -96,7 +96,7 @@ void init_tree(TREE *tree, ulong default_alloc_size, ulong memory_limit, bzero((uchar*) &tree->null_element,sizeof(tree->null_element)); tree->root= &tree->null_element; tree->compare=compare; - tree->size_of_element=size > 0 ? (uint) size : 0; + tree->size_of_element= size > 0 ? (uint) size : 0; tree->memory_limit=memory_limit; tree->free=free_element; tree->allocated=0; @@ -127,7 +127,7 @@ void init_tree(TREE *tree, ulong default_alloc_size, ulong memory_limit, } if (!(tree->with_delete=with_delete)) { - init_alloc_root(&tree->mem_root, (uint) default_alloc_size, 0); + init_alloc_root(&tree->mem_root, default_alloc_size, 0); tree->mem_root.min_malloc=(sizeof(TREE_ELEMENT)+tree->size_of_element); } DBUG_VOID_RETURN; |