Comment 3 for bug 1689268

Revision history for this message
Sveta Smirnova (svetasmirnova) wrote :

This is exactly same case, but with skipped /*!50100 WITH PARSER `ngram` */ part:

mysql> CREATE TABLE `test` (
    -> `seq` int(11) NOT NULL AUTO_INCREMENT,
    -> `cont` text COLLATE utf8mb4_bin,
    -> PRIMARY KEY (`seq`),
    -> FULLTEXT KEY `fx_txts` (`cont`)
    -> ) ENGINE=myisam DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
Query OK, 0 rows affected (0.06 sec)

mysql> set names utf8mb4;
Query OK, 0 rows affected (0.02 sec)

mysql> insert into test (cont) values ('aBc!efg');
Query OK, 1 row affected (0.03 sec)

mysql> insert into test (cont) values ('aBc@efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('aBc#efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('aBc$efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('aBc%efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('abc^efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('abc&efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('abc*efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('abc(efg');
Query OK, 1 row affected (0.00 sec)

mysql> insert into test (cont) values ('abc)efg');
Query OK, 1 row affected (0.00 sec)

mysql> select * from test where match(cont) against ('"c!e"' in boolean mode);
Empty set (0.13 sec)

mysql> select * from test where match(cont) against ('"c#e"' in boolean mode);
Empty set (0.00 sec)

mysql> select * from test where match(cont) against ('"c$e"' in boolean mode);
Empty set (0.00 sec)

mysql> select * from test where match(cont) against ('"c!e"' in boolean mode);
Empty set (0.00 sec)

mysql> select * from test where match(cont) against ('"c!e"' in natural language mode);
Empty set (0.00 sec)