mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Should check for GEOM_FLAG later because keyX may be partly initialized (min_flag is not set).
This commit is contained in:
@ -1401,12 +1401,6 @@ key_and(SEL_ARG *key1,SEL_ARG *key2,uint clone_flag)
|
|||||||
return key2;
|
return key2;
|
||||||
if (!key2)
|
if (!key2)
|
||||||
return key1;
|
return key1;
|
||||||
if ((key1->min_flag | key2->min_flag) & GEOM_FLAG)
|
|
||||||
{
|
|
||||||
key1->free_tree();
|
|
||||||
key2->free_tree();
|
|
||||||
return 0; // Can't optimize this
|
|
||||||
}
|
|
||||||
if (key1->part != key2->part)
|
if (key1->part != key2->part)
|
||||||
{
|
{
|
||||||
if (key1->part > key2->part)
|
if (key1->part > key2->part)
|
||||||
@ -1462,6 +1456,13 @@ key_and(SEL_ARG *key1,SEL_ARG *key2,uint clone_flag)
|
|||||||
return key1;
|
return key1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((key1->min_flag | key2->min_flag) & GEOM_FLAG)
|
||||||
|
{
|
||||||
|
key1->free_tree();
|
||||||
|
key2->free_tree();
|
||||||
|
return 0; // Can't optimize this
|
||||||
|
}
|
||||||
|
|
||||||
key1->use_count--;
|
key1->use_count--;
|
||||||
key2->use_count--;
|
key2->use_count--;
|
||||||
SEL_ARG *e1=key1->first(), *e2=key2->first(), *new_tree=0;
|
SEL_ARG *e1=key1->first(), *e2=key2->first(), *new_tree=0;
|
||||||
|
Reference in New Issue
Block a user