Commit 0ef427ae authored by Chaithra Gopalareddy's avatar Chaithra Gopalareddy

Merge from 5.1 to 5.5

parents 8dc96fc7 ddcd6867
...@@ -4562,8 +4562,6 @@ SELECT * FROM t1 ...@@ -4562,8 +4562,6 @@ SELECT * FROM t1
WHERE EXISTS (SELECT DISTINCT a FROM t2 WHERE t1.a < t2.a ORDER BY b); WHERE EXISTS (SELECT DISTINCT a FROM t2 WHERE t1.a < t2.a ORDER BY b);
pk a pk a
1 10 1 10
3 30
2 20
DROP TABLE t1,t2; DROP TABLE t1,t2;
CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), KEY b (b)); CREATE TABLE t1 (a INT, b INT, PRIMARY KEY (a), KEY b (b));
INSERT INTO t1 VALUES (1,NULL), (9,NULL); INSERT INTO t1 VALUES (1,NULL), (9,NULL);
......
...@@ -1520,12 +1520,19 @@ JOIN::optimize() ...@@ -1520,12 +1520,19 @@ JOIN::optimize()
DBUG_RETURN(1); DBUG_RETURN(1);
} }
} }
/*
Calculate a possible 'limit' of table rows for 'GROUP BY': 'need_tmp'
implies that there will be more postprocessing so the specified
'limit' should not be enforced yet in the call to
'test_if_skip_sort_order'.
*/
const ha_rows limit = need_tmp ? HA_POS_ERROR : unit->select_limit_cnt;
if (!(select_options & SELECT_BIG_RESULT) && if (!(select_options & SELECT_BIG_RESULT) &&
((group_list && ((group_list &&
(!simple_group || (!simple_group ||
!test_if_skip_sort_order(&join_tab[const_tables], group_list, !test_if_skip_sort_order(&join_tab[const_tables], group_list,
unit->select_limit_cnt, 0, limit, 0,
&join_tab[const_tables].table-> &join_tab[const_tables].table->
keys_in_use_for_group_by))) || keys_in_use_for_group_by))) ||
select_distinct) && select_distinct) &&
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment