mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge mhansson@bk-internal:/home/bk/mysql-5.1-opt
into linux-st28.site:/home/martin/mysql/src/5.1o-bug30596
This commit is contained in:
@ -1069,6 +1069,20 @@ JOIN::optimize()
|
||||
find_field_in_order_list,
|
||||
(void *) group_list))
|
||||
{
|
||||
/*
|
||||
We have found that grouping can be removed since groups correspond to
|
||||
only one row anyway, but we still have to guarantee correct result
|
||||
order. The line below effectively rewrites the query from GROUP BY
|
||||
<fields> to ORDER BY <fields>. One exception is if skip_sort_order is
|
||||
set (see above), then we can simply skip GROUP BY.
|
||||
*/
|
||||
order= skip_sort_order ? 0 : group_list;
|
||||
/*
|
||||
If we have an IGNORE INDEX FOR GROUP BY(fields) clause, this must be
|
||||
rewritten to IGNORE INDEX FOR ORDER BY(fields).
|
||||
*/
|
||||
join_tab->table->keys_in_use_for_order_by=
|
||||
join_tab->table->keys_in_use_for_group_by;
|
||||
group_list= 0;
|
||||
group= 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user