65 lines
2.0 KiB
Plaintext
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;
|