MDEV-17414: MyROCKS order desc limit 1 fails

- Use the correct range bounds when doing a reverse-ordered range scan
  (this was already done for HA_READ_PREFIX_LAST_OR_PREV but not for
  HA_READ_BEFORE_KEY).
This commit is contained in:
Sergei Petrunia 2018-10-29 13:43:52 +03:00
commit cfd81de6d4
3 changed files with 38 additions and 1 deletions

View file

@ -9,3 +9,20 @@ explain select c1 from t1 where c1 > 5 limit 10;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range i i 9 NULL # Using where; Using index
drop table t1;
#
# MDEV-17414: MyROCKS order desc limit 1 fails
#
create table t1 (date date);
insert into t1 values ('2018-10-04'), ('2018-10-05');
select * from t1 where date < '2018-10-09' order by date desc limit 1;
date
2018-10-05
alter table t1 add index date_index (date);
select * from t1 where date < '2018-10-05' order by date desc limit 1;
date
2018-10-04
# this should not produce an empty set:
select * from t1 where date < '2018-10-09' order by date desc limit 1;
date
2018-10-05
drop table t1;

View file

@ -19,3 +19,15 @@ select count(*) from t1;
explain select c1 from t1 where c1 > 5 limit 10;
drop table t1;
--echo #
--echo # MDEV-17414: MyROCKS order desc limit 1 fails
--echo #
create table t1 (date date);
insert into t1 values ('2018-10-04'), ('2018-10-05');
select * from t1 where date < '2018-10-09' order by date desc limit 1; # Works as expected
alter table t1 add index date_index (date);
select * from t1 where date < '2018-10-05' order by date desc limit 1; # Works as expected
--echo # this should not produce an empty set:
select * from t1 where date < '2018-10-09' order by date desc limit 1;
drop table t1;