1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-21 21:22:27 +03:00
Files
mariadb/mysql-test/suite/innodb_fts/t/ft_result_cache_limit.test
Thirunarayanan Balathandayuthapani f9ec9b6abb MDEV-27282 InnoDB: Failing assertion: !query->intersection
- query->intersection fails to get freed if the query exceeds
innodb_ft_result_cache_limit

- errors from init_ftfuncs were not propogated by delete command

This is taken from percona/percona-server@ef2c0bcb9a
2022-08-03 20:35:12 +05:30

58 lines
1.4 KiB
Plaintext

--echo #
--echo # Bug 1634932: Assertion failure in thread x in
--echo # file fts0que.cc
--echo #
--source include/have_innodb.inc
--source include/have_debug.inc
SET @saved_innodb_ft_result_cache_limit= @@global.innodb_ft_result_cache_limit;
CREATE TABLE `t1` (
`FTS_DOC_ID` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`text_content` MEDIUMTEXT, PRIMARY KEY (`FTS_DOC_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE UNIQUE INDEX FTS_DOC_ID_INDEX ON t1(FTS_DOC_ID);
SET autocommit=0;
DELIMITER //;
CREATE PROCEDURE populate_t1()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE (i <= 250) DO
INSERT INTO t1 (text_content) VALUES ("some_text_1234 aaa");
SET i = i + 1;
END WHILE;
END//
DELIMITER ;//
CALL populate_t1;
SET autocommit=1;
SET SESSION debug="+d,fts_instrument_result_cache_limit";
ALTER TABLE t1 ADD FULLTEXT INDEX `text_content_idx` (`text_content`);
# HA_ERR_FTS_EXCEED_RESULT_CACHE_LIMIT = 188
--error 128
SELECT FTS_DOC_ID, text_content
FROM t1
WHERE MATCH text_content AGAINST ('+some_text_1234' IN BOOLEAN MODE);
--error 128
UPDATE t1
SET text_content='some_text_12345'
where MATCH text_content AGAINST ('+some_text_1234' IN BOOLEAN MODE);
--error 128
DELETE FROM t1
WHERE MATCH text_content AGAINST ('+some_text_1234' IN BOOLEAN MODE);
SET GLOBAL innodb_ft_result_cache_limit = @saved_innodb_ft_result_cache_limit;
DROP TABLE t1;
DROP PROCEDURE populate_t1;