1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Fixed LP bug #933117.

The bug was fixed with the code back-ported from the patch for LP bug 800184
pushed into mariadb-5.3.
This commit is contained in:
Igor Babaev
2012-02-16 16:06:49 -08:00
parent 0c265a5eb8
commit c563ea0717
3 changed files with 36 additions and 2 deletions

View File

@@ -498,6 +498,11 @@ public:
pos->increment_use_count(count);
}
}
void incr_refs()
{
increment_use_count(1);
use_count++;
}
void free_tree()
{
for (SEL_ARG *pos=first(); pos ; pos=pos->next)
@@ -6475,8 +6480,8 @@ key_and(RANGE_OPT_PARAM *param, SEL_ARG *key1, SEL_ARG *key2, uint clone_flag)
continue;
SEL_ARG *next=key_and(param, e1->next_key_part, e2->next_key_part,
clone_flag);
e1->increment_use_count(1);
e2->increment_use_count(1);
e1->incr_refs();
e2->incr_refs();
if (!next || next->type != SEL_ARG::IMPOSSIBLE)
{
SEL_ARG *new_arg= e1->clone_and(e2);