From c78685e0c27fd15933a1aaf2733c4035aadf4e0d Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 28 May 2002 20:46:35 +0500 Subject: Removed unnecessary key search in the hp_rb_write_key() function --- mysys/tree.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'mysys/tree.c') diff --git a/mysys/tree.c b/mysys/tree.c index 1bd49ef5182..489262fcdc7 100644 --- a/mysys/tree.c +++ b/mysys/tree.c @@ -86,6 +86,7 @@ void init_tree(TREE *tree, uint default_alloc_size, uint memory_limit, tree->custom_arg = custom_arg; tree->null_element.colour=BLACK; tree->null_element.left=tree->null_element.right=0; + tree->flag= 0; if (!free_element && size >= 0 && ((uint) size <= sizeof(void*) || ((uint) size & (sizeof(void*)-1)))) { @@ -231,7 +232,11 @@ TREE_ELEMENT *tree_insert(TREE *tree, void *key, uint key_size, rb_insert(tree,parent,element); /* rebalance tree */ } else + { + if (tree->flag & TREE_NO_DUPS) + return(NULL); element->count++; + } DBUG_EXECUTE("check_tree", test_rb_tree(tree->root);); return element; } -- cgit v1.2.1