Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
None
-
None
-
2021-2, 2021-3, 2021-4, 2021-5
Description
DROP TABLE IF EXISTS t1; |
CREATE TABLE t1 (a CHAR(3) CHARACTER SET utf8) ENGINE=ColumnStore; |
INSERT INTO t1 VALUES ('A'),('a'); |
SELECT * FROM t1 WHERE a LIKE 'a'; |
+------+
|
| a |
|
+------+
|
| a |
|
+------+
|
Notice, it returns only one row ignoring the fact that the collations is utf8_general_ci, which is case insensitive.
It should return two rows like MyISAM does:
DROP TABLE IF EXISTS t1; |
CREATE TABLE t1 (a CHAR(3) CHARACTER SET utf8) ENGINE=MyISAM; |
INSERT INTO t1 VALUES ('A'),('a'); |
SELECT * FROM t1 WHERE a LIKE 'a'; |
+------+
|
| a |
|
+------+
|
| A |
|
| a |
|
+------+
|
Attachments
Issue Links
- relates to
-
MCOL-495 Make string comparison not case sensitive
-
- Closed
-
-
MCOL-3536 Order by with UTF
-
- Closed
-
-
MCOL-4064 Make JOIN collation aware
-
- Closed
-
-
MCOL-4065 DISTINCT is case sensitive
-
- Closed
-
-
MCOL-4388 Equality does not respect the NOPAD collation attribute
-
- Closed
-
-
MCOL-4417 Non-equality comparison operators do not work well with NOPAD collations
-
- Closed
-
-
MCOL-4499 NOT LIKE is not compatible with MariaDB on explicit NULL
-
- Closed
-
-
MCOL-4539 WHERE short_char_column='literal' ignores the collation on a huge table
-
- Closed
-
Hello dleeyh,
When doing QA for this task can you please check if the change affects performance?
In MariaDB Server, the code from the collation library behind the LIKE operator is about twice faster than RLIKE:
| 0 |
| 0 |
As this change in ColumnStore replaces the regex based LIKE implementation to the MariaDB collation library implementation, I also expect near 2 times performance improvement. It would be nice to verify this.
Thank you!