diff options
author | unknown <sasha@mysql.sashanet.com> | 2001-05-24 18:00:52 -0600 |
---|---|---|
committer | unknown <sasha@mysql.sashanet.com> | 2001-05-24 18:00:52 -0600 |
commit | 403b38ee5091e74df8adb6ee0c644903a82ffcad (patch) | |
tree | 9aa9b9a1f9655b48f5e748c918b37c726b7d19ca /sql/item_sum.cc | |
parent | b7b409b76ee4c2817a882b3f08cb30890dd8532a (diff) | |
download | mariadb-git-403b38ee5091e74df8adb6ee0c644903a82ffcad.tar.gz |
fixed bug in count(distinct)
sql/item_sum.cc:
do not insert into deleted tree in count(distinct)
Diffstat (limited to 'sql/item_sum.cc')
-rw-r--r-- | sql/item_sum.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sql/item_sum.cc b/sql/item_sum.cc index 6560fdedfd2..879c27178e5 100644 --- a/sql/item_sum.cc +++ b/sql/item_sum.cc @@ -986,9 +986,12 @@ bool Item_sum_count_distinct::add() { // if the tree got too big, convert to MyISAM, otherwise // insert into the tree - if((tree.elements_in_tree > max_elements_in_tree && tree_to_myisam()) - || - !tree_insert(&tree, table->record[0] + rec_offset, 0)) + if(tree.elements_in_tree > max_elements_in_tree) + { + if(tree_to_myisam()) + return 1; + } + else if(!tree_insert(&tree, table->record[0] + rec_offset, 0)) return 1; } else if ((error=table->file->write_row(table->record[0]))) |