|
|
|
@ -603,3 +603,30 @@ Variable_name Value |
|
|
|
Handler_update 5 |
|
|
|
ROLLBACK; |
|
|
|
DROP TABLE t1, t2; |
|
|
|
# |
|
|
|
# MDEV-4410: update does not want to use a covering index, but select uses it. |
|
|
|
# |
|
|
|
create table t2(a int); |
|
|
|
insert into t2 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
|
|
|
create table t1 (key1 int, col1 int, key(key1)); |
|
|
|
insert into t1 |
|
|
|
select A.a + 10 * B.a + 100 * C.a, 1234 from t2 A, t2 B, t2 C; |
|
|
|
# This must not have "Using filesort": |
|
|
|
explain |
|
|
|
update t1 set key1=key1+1 where key1 between 10 and 110 order by key1 limit 2; |
|
|
|
id select_type table type possible_keys key key_len ref rows Extra |
|
|
|
1 SIMPLE t1 range key1 key1 5 NULL 100 Using where; Using buffer |
|
|
|
flush status; |
|
|
|
update t1 set key1=key1+1 where key1 between 10 and 110 order by key1 limit 2; |
|
|
|
show status like 'Handler_read%'; |
|
|
|
Variable_name Value |
|
|
|
Handler_read_first 0 |
|
|
|
Handler_read_key 1 |
|
|
|
Handler_read_last 0 |
|
|
|
Handler_read_next 1 |
|
|
|
Handler_read_prev 0 |
|
|
|
Handler_read_rnd 2 |
|
|
|
Handler_read_rnd_deleted 0 |
|
|
|
Handler_read_rnd_next 0 |
|
|
|
drop table t1, t2; |
|
|
|
# End of MariaDB 10.0 tests |