Commit ca5e2947 authored by unknown's avatar unknown
Browse files

Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX

 - reversed the patch for 5.0 and moved to 5.1


mysql-test/r/group_by.result:
  Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
   - reversed the patch for 5.0
mysql-test/t/group_by.test:
  Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
   - reversed the patch for 5.0
sql/sql_select.cc:
  Bug #21174: Index degrades sort performance and optimizer does not honor IGNORE INDEX
   - reversed the patch for 5.0
parent c6af7ee1
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -821,12 +821,3 @@ a b real_b
68	France	France
DROP VIEW v1;
DROP TABLE t1,t2;
CREATE TABLE t1 (a INT, b INT, KEY(a));
INSERT INTO t1 VALUES (1, 1), (2, 2), (3,3), (4,4);
EXPLAIN SELECT a, SUM(b) FROM t1 GROUP BY a LIMIT 2;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	index	NULL	a	5	NULL	4	
EXPLAIN SELECT a, SUM(b) FROM t1 IGNORE INDEX (a) GROUP BY a LIMIT 2;
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	SIMPLE	t1	ALL	NULL	NULL	NULL	NULL	4	Using temporary; Using filesort
DROP TABLE t1;
+0 −12
Original line number Diff line number Diff line
@@ -655,15 +655,3 @@ where t2.b=v1.a GROUP BY t2.b;

DROP VIEW v1;
DROP TABLE t1,t2;

#
# Bug #21174: Index degrades sort performance and 
#             optimizer does not honor IGNORE INDEX
#
CREATE TABLE t1 (a INT, b INT, KEY(a));
INSERT INTO t1 VALUES (1, 1), (2, 2), (3,3), (4,4);

EXPLAIN SELECT a, SUM(b) FROM t1 GROUP BY a LIMIT 2; 
EXPLAIN SELECT a, SUM(b) FROM t1 IGNORE INDEX (a) GROUP BY a LIMIT 2;

DROP TABLE t1;
+0 −2
Original line number Diff line number Diff line
@@ -11735,8 +11735,6 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
    We must not try to use disabled keys.
  */
  usable_keys= table->s->keys_in_use;
  /* we must not consider keys that are disabled by IGNORE INDEX */
  usable_keys.intersect(table->keys_in_use_for_query);

  for (ORDER *tmp_order=order; tmp_order ; tmp_order=tmp_order->next)
  {