Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2.10
-
Centos 7
Description
As it is right now, it is useless 100% for one reason: the only collation available is binary and that does not allow to case-insensitive searches. It breaks any application that was working with innodb or tokudb.
Can somebody fix this so may start using this fantastic engine?
Attachments
Issue Links
- relates to
-
MDEV-14433 RocksDB may show empty or incorrect output with rocksdb_strict_collation_check=off
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Fix Version/s | 10.2 [ 14601 ] | |
Assignee | Sergei Petrunia [ psergey ] |
Comment |
[ show create table userbusy\G
*************************** 1. row *************************** Table: userbusy Create Table: CREATE TABLE `userbusy` ( `number` varchar(10) NOT NULL, `class` char(1) DEFAULT 'X', `state` char(2) NOT NULL DEFAULT '??', `account_id` varchar(10) NOT NULL, `flagv` int(11) DEFAULT 0, PRIMARY KEY (`number`,`account_id`), KEY `IDX_userbusy_flagv` (`flagv`) ) ENGINE=ROCKSDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) MariaDB [asterisk]> show index from userbusy; +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | userbusy | 0 | PRIMARY | 1 | number | A | 171518 | NULL | NULL | | LSMTREE | | | | userbusy | 0 | PRIMARY | 2 | account_id | A | 171518 | NULL | NULL | | LSMTREE | | | | userbusy | 1 | IDX_userbusy_flagv | 1 | flagv | A | 19 | NULL | NULL | YES | LSMTREE | | | +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 3 rows in set (0.00 sec) MariaDB [asterisk]> explain select class, state,account_id, flagv from userbusy where account_id='16356' and class='W' and state='NJ' and not flagv; +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ | 1 | SIMPLE | userbusy | ALL | IDX_userbusy_flagv | NULL | NULL | NULL | 171518 | Using where | +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ 1 row in set (0.00 sec) ] |
Comment |
[ show create table userbusy\G
*************************** 1. row *************************** Table: userbusy Create Table: CREATE TABLE `userbusy` ( `number` varchar(10) NOT NULL, `class` char(1) DEFAULT 'X', `state` char(2) NOT NULL DEFAULT '??', `account_id` varchar(10) NOT NULL, `flagv` int(11) DEFAULT 0, PRIMARY KEY (`number`,`account_id`), KEY `IDX_userbusy_flagv` (`flagv`) ) ENGINE=ROCKSDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) MariaDB [asterisk]> show index from userbusy; +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | userbusy | 0 | PRIMARY | 1 | number | A | 171518 | NULL | NULL | | LSMTREE | | | | userbusy | 0 | PRIMARY | 2 | account_id | A | 171518 | NULL | NULL | | LSMTREE | | | | userbusy | 1 | IDX_userbusy_flagv | 1 | flagv | A | 19 | NULL | NULL | YES | LSMTREE | | | +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 3 rows in set (0.00 sec) MariaDB [asterisk]> explain select class, state,account_id, flagv from userbusy where account_id='16356' and class='W' and state='NJ' and not flagv; +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ | 1 | SIMPLE | userbusy | ALL | IDX_userbusy_flagv | NULL | NULL | NULL | 171518 | Using where | +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ 1 row in set (0.00 sec) ] |
Comment |
[ show create table userbusy\G
*************************** 1. row *************************** Table: userbusy Create Table: CREATE TABLE `userbusy` ( `number` varchar(10) NOT NULL, `class` char(1) DEFAULT 'X', `state` char(2) NOT NULL DEFAULT '??', `account_id` varchar(10) NOT NULL, `flagv` int(11) DEFAULT 0, PRIMARY KEY (`number`,`account_id`), KEY `IDX_userbusy_flagv` (`flagv`) ) ENGINE=ROCKSDB DEFAULT CHARSET=utf8 1 row in set (0.00 sec) MariaDB [asterisk]> show index from userbusy; +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment | +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | userbusy | 0 | PRIMARY | 1 | number | A | 171518 | NULL | NULL | | LSMTREE | | | | userbusy | 0 | PRIMARY | 2 | account_id | A | 171518 | NULL | NULL | | LSMTREE | | | | userbusy | 1 | IDX_userbusy_flagv | 1 | flagv | A | 19 | NULL | NULL | YES | LSMTREE | | | +----------+------------+--------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ 3 rows in set (0.00 sec) MariaDB [asterisk]> explain select class, state,account_id, flagv from userbusy where account_id='16356' and class='W' and state='NJ' and not flagv; +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ | 1 | SIMPLE | userbusy | ALL | IDX_userbusy_flagv | NULL | NULL | NULL | 171518 | Using where | +------+-------------+----------+------+--------------------+------+---------+------+--------+-------------+ 1 row in set (0.00 sec) ] |
Comment |
[ As you can see by looking at the output of
show index from userbusy; the index on the field flagv has the wrong number of records. It should as many records as the primary key. Maybe that is why the query gets the wrong results. ] |
Link |
This issue relates to |
issue.field.resolutiondate | 2017-12-15 15:02:43.0 | 2017-12-15 15:02:43.065 |
Fix Version/s | 10.2.12 [ 22810 ] | |
Fix Version/s | 10.2 [ 14601 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 83635 ] | MariaDB v4 [ 153121 ] |
Assigned to psergey for commenting, if not fixing.