Loading mysql-test/r/myisam.result +10 −0 Original line number Diff line number Diff line Loading @@ -462,3 +462,13 @@ select count(*) from t1 where a is null; count(*) 2 drop table t1; create table t1 ( c1 varchar(32), key (c1) ) engine=myisam; alter table t1 disable keys; insert into t1 values ('a'), ('b'); select c1 from t1 order by c1 limit 1; c1 a drop table t1; mysql-test/t/myisam.test +12 −0 Original line number Diff line number Diff line Loading @@ -446,3 +446,15 @@ explain select count(*) from t1 where a is null; select count(*) from t1 where a is null; drop table t1; # # Bug#14616 - Freshly imported table returns error 124 when using LIMIT # create table t1 ( c1 varchar(32), key (c1) ) engine=myisam; alter table t1 disable keys; insert into t1 values ('a'), ('b'); select c1 from t1 order by c1 limit 1; drop table t1; sql/sql_select.cc +6 −2 Original line number Diff line number Diff line Loading @@ -6003,8 +6003,12 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, key_map usable_keys; DBUG_ENTER("test_if_skip_sort_order"); /* Check which keys can be used to resolve ORDER BY */ usable_keys= ~(key_map) 0; /* Check which keys can be used to resolve ORDER BY. We must not try to use disabled keys. */ usable_keys= table->keys_in_use; for (ORDER *tmp_order=order; tmp_order ; tmp_order=tmp_order->next) { if ((*tmp_order->item)->type() != Item::FIELD_ITEM) Loading Loading
mysql-test/r/myisam.result +10 −0 Original line number Diff line number Diff line Loading @@ -462,3 +462,13 @@ select count(*) from t1 where a is null; count(*) 2 drop table t1; create table t1 ( c1 varchar(32), key (c1) ) engine=myisam; alter table t1 disable keys; insert into t1 values ('a'), ('b'); select c1 from t1 order by c1 limit 1; c1 a drop table t1;
mysql-test/t/myisam.test +12 −0 Original line number Diff line number Diff line Loading @@ -446,3 +446,15 @@ explain select count(*) from t1 where a is null; select count(*) from t1 where a is null; drop table t1; # # Bug#14616 - Freshly imported table returns error 124 when using LIMIT # create table t1 ( c1 varchar(32), key (c1) ) engine=myisam; alter table t1 disable keys; insert into t1 values ('a'), ('b'); select c1 from t1 order by c1 limit 1; drop table t1;
sql/sql_select.cc +6 −2 Original line number Diff line number Diff line Loading @@ -6003,8 +6003,12 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit, key_map usable_keys; DBUG_ENTER("test_if_skip_sort_order"); /* Check which keys can be used to resolve ORDER BY */ usable_keys= ~(key_map) 0; /* Check which keys can be used to resolve ORDER BY. We must not try to use disabled keys. */ usable_keys= table->keys_in_use; for (ORDER *tmp_order=order; tmp_order ; tmp_order=tmp_order->next) { if ((*tmp_order->item)->type() != Item::FIELD_ITEM) Loading