polardbxengine/mysql-test/suite/innodb_fts/t/ngram_1.test

65 lines
2.0 KiB
Plaintext

# Test fulltext with ngram parser
--source include/no_valgrind_without_big.inc
--source include/have_innodb_max_16k.inc
# Because we have inserted row size > 2k, we require page size > 4k.
if (`SELECT COUNT(*) = 1 FROM performance_schema.global_status WHERE LOWER(variable_name) = 'innodb_page_size' AND variable_value = 4096`)
{
--skip Test requires InnoDB with Page size > 4k
}
LET $per_table = `select @@innodb_file_per_table`;
-- echo # Test Case : With default row type
LET $table_row_format = ROW_FORMAT=DEFAULT ;
--source suite/innodb_fts/include/ngram.inc
-- echo # Test Case : with compact row type
LET $table_row_format = ROW_FORMAT=COMPACT ;
--source suite/innodb_fts/include/ngram.inc
-- echo # Test Case : With redundant row type
LET $table_row_format = ROW_FORMAT=REDUNDANT ;
--source suite/innodb_fts/include/ngram.inc
-- echo # Test Case : With Dynamic row type
LET $table_row_format = ROW_FORMAT=DYNAMIC ;
--source suite/innodb_fts/include/ngram.inc
-- echo # Test Case : With compressed row type
LET $table_row_format = ROW_FORMAT=COMPRESSED ;
--source suite/innodb_fts/include/ngram.inc
EVAL SET GLOBAL innodb_file_per_table = $per_table;
#
## Bug #25873310 FULLTEXT SEARCH CAN NOT FIND WORD WHICH CONTAINS "," OR "."
#
SET GLOBAL innodb_ft_enable_stopword=OFF;
SET innodb_ft_enable_stopword=OFF;
let @old_innodb_ft_aux_table = `select @@innodb_ft_aux_table`;
CREATE TABLE ft_test3(
id INT NOT NULL,
contents TEXT,
PRIMARY KEY(id),
FULLTEXT INDEX fx_contents(contents) WITH PARSER NGRAM
) ENGINE=INNODB;
SET GLOBAL innodb_ft_aux_table='test/ft_test3';
INSERT INTO ft_test3 VALUES (1, 'xy,yz');
SELECT * FROM INFORMATION_SCHEMA.INNODB_FT_INDEX_CACHE ORDER BY position;
SELECT * FROM ft_test3 WHERE MATCH(contents) AGAINST('y,' IN BOOLEAN MODE);
SELECT * FROM ft_test3 WHERE MATCH(contents) AGAINST('y,' IN NATURAl LANGUAGE MODE);
SET GLOBAL innodb_ft_enable_stopword = ON;
SET GLOBAL innodb_ft_aux_table = @old_innodb_ft_aux_table;
DROP TABLE ft_test3;