# # test of new fulltext search features # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings let $default_engine = `select @@SESSION.default_storage_engine`; # # BUG#29299 - repeatable myisam fulltext index corruption # # INNODB_FTS: Not yet support gbk charset CREATE TABLE t1(a VARCHAR(255) CHARACTER SET gbk, FULLTEXT(a)) ENGINE = InnoDB; SET NAMES utf8mb4; # INSERT INTO t1 VALUES(0xF043616161),(0xBEF361616197C22061616161); # SELECT HEX(a) FROM t1 WHERE MATCH(a) AGAINST(0x97C22061616161 IN BOOLEAN MODE); DELETE FROM t1 LIMIT 1; #CHECK TABLE t1; SET NAMES latin1; DROP TABLE t1; # End of 5.0 tests # # BUG#29464 - load data infile into table with big5 chinese fulltext index # hangs 100% cpu # --replace_result $default_engine EVAL CREATE TABLE t1(a VARCHAR(2) CHARACTER SET big5 COLLATE big5_chinese_ci, FULLTEXT(a)) ENGINE=$default_engine; # INSERT INTO t1 VALUES(0xA3C2); DROP TABLE t1; # End of 5.1 tests # End of 5.6 tests SET NAMES utf8mb4; CREATE TABLE t1(a VARCHAR(255) CHARACTER SET gb18030, FULLTEXT(a)) ENGINE = InnoDB; INSERT INTO t1 VALUES(0xF043616161),(0xBEF361616197C22061616161); SELECT CONVERT(a USING utf8) FROM t1; SELECT CONVERT(_gb18030 0x97C22061616161 USING utf8); SELECT HEX(a), CONVERT(a USING utf8) FROM t1 WHERE MATCH(a) AGAINST(0x97C220616161 IN BOOLEAN MODE); SELECT HEX(a), CONVERT(a USING utf8) FROM t1 WHERE MATCH(a) AGAINST(0x97C22061616161 IN BOOLEAN MODE); SELECT HEX(a), CONVERT(a USING utf8) FROM t1 WHERE MATCH(a) AGAINST(0x97C2206161616161 IN BOOLEAN MODE); SET NAMES latin1; DROP TABLE t1; # # BUG 18700668 - GB18030 + FTS: ASSERTION FAILED: ((UCHAR) (*SRC) <= 0X7F) # CREATE TABLE t1 (a TEXT, FULLTEXT(a)) ENGINE=InnoDB DEFAULT CHARSET=gb18030 COLLATE=gb18030_bin; CREATE TABLE t2 (a TEXT, FULLTEXT(a)) ENGINE=InnoDB DEFAULT CHARSET=gb18030 COLLATE=gb18030_chinese_ci; CREATE TABLE t3 (a TEXT, FULLTEXT(a)) ENGINE=InnoDB DEFAULT CHARSET=gb18030 COLLATE=gb18030_unicode_520_ci; SELECT * FROM t1 WHERE MATCH(a) AGAINST(0xff00ff); SELECT * FROM t1 WHERE MATCH(a) AGAINST(0xfe00feff8320218400010203); SELECT * FROM t2 WHERE MATCH(a) AGAINST(0xff00ff); SELECT * FROM t2 WHERE MATCH(a) AGAINST(0xfe00feff8320218400010203); SELECT * FROM t3 WHERE MATCH(a) AGAINST(0xff00ff); SELECT * FROM t3 WHERE MATCH(a) AGAINST(0xfe00feff8320218400010203); DROP TABLE t1, t2, t3; SET NAMES utf8mb4 COLLATE utf8mb4_0900_ai_ci; CREATE TABLE t1(a VARCHAR(255) CHARACTER SET utf8mb4, FULLTEXT(a)) ENGINE = InnoDB; INSERT INTO t1 VALUES(0xC4B4616161),(0xE1B48C616161E292A92061616161); SELECT HEX(a), a FROM t1; SELECT HEX(a), a FROM t1 WHERE MATCH(a) AGAINST(0xE292A920616161 IN BOOLEAN MODE); SELECT HEX(a), a FROM t1 WHERE MATCH(a) AGAINST(0xE292A92061616161 IN BOOLEAN MODE); SELECT HEX(a), a FROM t1 WHERE MATCH(a) AGAINST(0xE292A9206161616161 IN BOOLEAN MODE); TRUNCATE TABLE t1; INSERT INTO t1 VALUES("abcd"); INSERT INTO t1 VALUES("áƀcd"); INSERT INTO t1 VALUES("áƀde"); INSERT INTO t1 VALUES("áƀテストde"); SELECT HEX(a), a FROM t1; SELECT HEX(a), a FROM t1 WHERE MATCH(a) AGAINST("ab" IN BOOLEAN MODE); SELECT HEX(a), a FROM t1 WHERE MATCH(a) AGAINST("abcd" IN BOOLEAN MODE); SELECT HEX(a), a FROM t1 WHERE MATCH(a) AGAINST("áƀ*" IN BOOLEAN MODE); SET NAMES latin1; DROP TABLE t1;