MDEV-27408 DESC index on a Mroonga table causes wrong order of result set

disallow descending indexes in mroonga
This commit is contained in:
Sergei Golubchik 2022-01-03 19:22:30 +01:00
commit ae8600d514
3 changed files with 32 additions and 0 deletions

View file

@ -3844,6 +3844,14 @@ int ha_mroonga::storage_create_validate_index(TABLE *table)
KEY *key_info = &(table->s->key_info[i]);
// must be single column key
int key_parts = KEY_N_KEY_PARTS(key_info);
for (int j = 0; j < key_parts; j++) {
if (key_info->key_part[j].key_part_flag & HA_REVERSE_SORT) {
GRN_LOG(ctx, GRN_LOG_ERROR, "DESC indexes are not supported");
error = ER_CANT_CREATE_TABLE;
my_message(error, "DESC indexes are not supported", MYF(0));
DBUG_RETURN(error);
}
}
if (key_parts != 1) {
continue;
}

View file

@ -0,0 +1,9 @@
#
# MDEV-27408 DESC index on a Mroonga table causes wrong order of result set
#
create table t1 (a int, key(a desc));
ERROR HY000: DESC indexes are not supported
show warnings;
Level Code Message
Error 1005 DESC indexes are not supported
Warning 1030 Got error 1005 "Unknown error 1005" from storage engine Mroonga

View file

@ -0,0 +1,15 @@
--source ../../include/mroonga/have_mroonga.inc
--echo #
--echo # MDEV-27408 DESC index on a Mroonga table causes wrong order of result set
--echo #
--error ER_CANT_CREATE_TABLE
create table t1 (a int, key(a desc));
show warnings;
#show create table t1;
#insert into t1 values (1),(3),(2);
#select * from t1 order by a;
#drop table t1;
--source ../../include/mroonga/have_mroonga_deinit.inc