Merge from 5.1 to 5.5
This commit is contained in:
commit
0e729b5d53
@ -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()
|
|||||||
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) &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user