1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Fixed LP bug #698882.

Made sure that the optimal fields are used by TABLE_REF objects
when building index access keys to joined tables.
Fixed a bug in the template function that sorts the elements of
a list using the bubble sort algorithm. The bug caused poor
performance of the function. Also added an optimization that
skips comparison with the most heavy elements that has been 
already properly placed in the list.
Made the comparison of the fields belonging to the same Item_equal
more granular: fields belonging to the same table are also ordered
according to some rules.
This commit is contained in:
Igor Babaev
2011-01-15 11:14:36 -08:00
parent cb4fa7f401
commit 84a0c9b2a2
18 changed files with 485 additions and 47 deletions

View File

@ -1071,6 +1071,12 @@ class store_key_field: public store_key
}
const char *name() const { return field_name; }
void change_source_field(Item_field *fld_item)
{
copy_field.set(to_field, fld_item->field, 0);
field_name= fld_item->full_name();
}
protected:
enum store_key_result copy_inner()
{