mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1 sql/sql_select.cc: Auto merged
This commit is contained in:
@@ -2028,9 +2028,7 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
|
||||
break;
|
||||
case Item_func::OPTIMIZE_KEY:
|
||||
if (cond_func->key_item()->real_item()->type() == Item::FIELD_ITEM &&
|
||||
// field from outer query can't be used as key
|
||||
!((Item_field*) (cond_func->key_item()->real_item()))
|
||||
->depended_from)
|
||||
!(cond_func->used_tables() & OUTER_REF_TABLE_BIT))
|
||||
add_key_field(key_fields,*and_level,
|
||||
((Item_field*) (cond_func->key_item()->real_item()))
|
||||
->field,
|
||||
@@ -2042,9 +2040,7 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
|
||||
cond_func->functype() == Item_func::EQUAL_FUNC);
|
||||
|
||||
if (cond_func->arguments()[0]->real_item()->type() == Item::FIELD_ITEM &&
|
||||
// field from outer query can't be used as key
|
||||
!((Item_field*) (cond_func->arguments()[0]->real_item()))
|
||||
->depended_from)
|
||||
!(cond_func->arguments()[0]->used_tables() & OUTER_REF_TABLE_BIT))
|
||||
{
|
||||
add_key_field(key_fields,*and_level,
|
||||
((Item_field*) (cond_func->arguments()[0])->real_item())
|
||||
@@ -2054,9 +2050,7 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
|
||||
}
|
||||
if (cond_func->arguments()[1]->real_item()->type() == Item::FIELD_ITEM &&
|
||||
cond_func->functype() != Item_func::LIKE_FUNC &&
|
||||
// field from outer query can't be used as key
|
||||
!((Item_field*) (cond_func->arguments()[1]->real_item()))
|
||||
->depended_from)
|
||||
!(cond_func->arguments()[0]->used_tables() & OUTER_REF_TABLE_BIT))
|
||||
{
|
||||
add_key_field(key_fields,*and_level,
|
||||
((Item_field*) (cond_func->arguments()[1])->real_item())
|
||||
@@ -2069,9 +2063,7 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
|
||||
case Item_func::OPTIMIZE_NULL:
|
||||
/* column_name IS [NOT] NULL */
|
||||
if (cond_func->arguments()[0]->real_item()->type() == Item::FIELD_ITEM &&
|
||||
// field from outer query can't be used as key
|
||||
!((Item_field*) (cond_func->arguments()[0]->real_item()))
|
||||
->depended_from)
|
||||
!(cond_func->used_tables() & OUTER_REF_TABLE_BIT))
|
||||
{
|
||||
add_key_field(key_fields,*and_level,
|
||||
((Item_field*) (cond_func->arguments()[0])->real_item())
|
||||
|
Reference in New Issue
Block a user