Bug #76423 | Double Quotes and Full-Text Search -- Memory Exhaustion | ||
---|---|---|---|
Submitted: | 21 Mar 2015 5:46 | Modified: | 27 Dec 2017 20:05 |
Reporter: | techupin techu | Email Updates: | |
Status: | No Feedback | Impact on me: | |
Category: | MySQL Server: FULLTEXT search | Severity: | S1 (Critical) |
Version: | 5.6.19 | OS: | Linux (Ubuntu) |
Assigned to: | CPU Architecture: | Any | |
Tags: | fulltext, innodb, MySQL |
[21 Mar 2015 5:46]
techupin techu
[21 Mar 2015 7:48]
MySQL Verification Team
Hi, Please show us the table structure from SHOW CREATE TABLE, and the exact query. Thanks!
[21 Mar 2015 8:09]
techupin techu
CREATE TABLE `tablename` ( `field1` int(11) NOT NULL AUTO_INCREMENT, `field2` varchar(1) NOT NULL DEFAULT '', `field3` varchar(80) NOT NULL DEFAULT '', `field4` date NOT NULL DEFAULT '0000-00-00', `field5` varchar(80) NOT NULL DEFAULT '', `field6` varchar(500) CHARACTER SET latin1 NOT NULL DEFAULT '', `field7` int(11) NOT NULL DEFAULT '0', `field8` double NOT NULL DEFAULT '0', `field9` varchar(20) NOT NULL DEFAULT '', `field10` double NOT NULL DEFAULT '0', `field11` double NOT NULL DEFAULT '0', `field12` varchar(80) NOT NULL DEFAULT '', PRIMARY KEY (`field1`), KEY `idx_field4` (`field4`), KEY `idx_field7` (`field7`), FULLTEXT KEY `idx_field6` (`field6`), FULLTEXT KEY `idx_field5` (`field5`), FULLTEXT KEY `idx_field12` (`field12`) ) ENGINE=InnoDB AUTO_INCREMENT=6593938 DEFAULT CHARSET=utf8 Query: If I do: select * from tablename where match(field12) against ('food chain') limit 10; I get: 10 records where field12 contains either food or chain, limited by 10 records If I do: select * from tablename where match(field12) against ('+food +chain') limit 10; I get: 10 records where field12 contains both food and chain, limited by 10 records If I do: select * from tablename where match(field12) against ('"food chain"') limit 10; (to match the exact word ``food chain'') I get: ERROR 2013 (HY000): Lost connection to MySQL server during query similary if I have against('"chain"') I get the above error, while it goes through for against('chain'); query: select count(*) from tablename where match(field12) against ('chain'); I get the result: +----------+ | count(*) | +----------+ | 2497550 | +----------+ 1 row in set (2.71 sec) while when I do: select count(*) from tablename where match(field12) against ('"chain"'); I get: ERROR 2013 (HY000): Lost connection to MySQL server during query
[27 Nov 2017 20:05]
MySQL Verification Team
Thank you for the feedback. Please try with a major release version 5.7 and if the issue continues, provide a repeatable test case. Thanks.
[28 Dec 2017 1:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".