diff options
author | Igor Babaev <igor@askmonty.org> | 2010-12-27 14:22:05 -0800 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2010-12-27 14:22:05 -0800 |
commit | 0dc5ef87d4c5ad21b5ff5ad26187117514d4fbb7 (patch) | |
tree | 10e4fe145fb1c7300075f1e1f02932a15a32ee38 /include | |
parent | 1eb5e0e60388f460ab2c4d216a98f4088d9997b9 (diff) | |
parent | 7d68e1ead7be84fd6476854c8b4ff02ef16ea7d4 (diff) | |
download | mariadb-git-0dc5ef87d4c5ad21b5ff5ad26187117514d4fbb7.tar.gz |
Merge
Diffstat (limited to 'include')
-rw-r--r-- | include/my_sys.h | 2 | ||||
-rw-r--r-- | include/my_tree.h | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/my_sys.h b/include/my_sys.h index 309cb9c59b9..f5e38c5858e 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -197,7 +197,7 @@ extern void my_large_free(uchar * ptr, myf my_flags); #define my_large_free(A,B) my_free_lock((A),(B)) #endif /* HAVE_LARGE_PAGES */ -#ifdef HAVE_ALLOCA +#if defined(HAVE_ALLOCA) && !defined(HAVE_valgrind) #if defined(_AIX) && !defined(__GNUC__) && !defined(_AIX43) #pragma alloca #endif /* _AIX */ diff --git a/include/my_tree.h b/include/my_tree.h index ceeb849ad0c..3aeef20e0ad 100644 --- a/include/my_tree.h +++ b/include/my_tree.h @@ -30,7 +30,17 @@ extern "C" { #define tree_set_pointer(element,ptr) *((uchar **) (element+1))=((uchar*) (ptr)) +/* + A tree with its flag set to TREE_ONLY_DUPS behaves differently on inserting + an element that is not in the tree: + the element is not added at all, but instead tree_insert() returns a special + address TREE_ELEMENT_UNIQUE as an indication that the function has not failed + due to lack of memory. +*/ + +#define TREE_ELEMENT_UNIQUE ((TREE_ELEMENT *) 1) #define TREE_NO_DUPS 1 +#define TREE_ONLY_DUPS 2 typedef enum { left_root_right, right_root_left } TREE_WALK; typedef uint32 element_count; |