mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug#14616 - Freshly imported table returns error 124 when using LIMIT
Initialized usable_keys from table->keys_in_use instead of ~0 in test_if_skip_sort_order(). It was possible that a disabled index was used for sorting.
This commit is contained in:
@ -462,3 +462,13 @@ select count(*) from t1 where a is null;
|
|||||||
count(*)
|
count(*)
|
||||||
2
|
2
|
||||||
drop table t1;
|
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;
|
||||||
|
@ -446,3 +446,15 @@ explain select count(*) from t1 where a is null;
|
|||||||
select count(*) from t1 where a is null;
|
select count(*) from t1 where a is null;
|
||||||
drop table t1;
|
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;
|
||||||
|
|
||||||
|
@ -6003,8 +6003,12 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
|||||||
key_map usable_keys;
|
key_map usable_keys;
|
||||||
DBUG_ENTER("test_if_skip_sort_order");
|
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)
|
for (ORDER *tmp_order=order; tmp_order ; tmp_order=tmp_order->next)
|
||||||
{
|
{
|
||||||
if ((*tmp_order->item)->type() != Item::FIELD_ITEM)
|
if ((*tmp_order->item)->type() != Item::FIELD_ITEM)
|
||||||
|
Reference in New Issue
Block a user