diff options
author | unknown <svoj@may.pils.ru> | 2006-05-29 16:46:46 +0500 |
---|---|---|
committer | unknown <svoj@may.pils.ru> | 2006-05-29 16:46:46 +0500 |
commit | 528e85a4c0de5b6cfe65f1c664089628db6cf1b4 (patch) | |
tree | 2d99880d147ef4ce559982554840a1011fb091e9 /mysql-test/t/fulltext2.test | |
parent | 52078846fc635b913c2090c20adc18e1f06c9e56 (diff) | |
download | mariadb-git-528e85a4c0de5b6cfe65f1c664089628db6cf1b4.tar.gz |
BUG#19580 - FULLTEXT search produces wrong results on UTF-8 columns
The problem was that MySQL hadn't true ctype implementation. As a
result many multibyte punctuation/whitespace characters were
treated as word characters.
This fix uses recently added CTYPE table for unicode character sets
(WL1386) to detect unicode punctuation/whitespace characters
correctly.
Note: this is incompatible change since it changes parser behavior.
One will have to use REPAIR TABLE statement to rebuild fulltext
indexes.
mysql-test/r/fulltext2.result:
Testcase for BUG#19580.
mysql-test/t/fulltext2.test:
Testcase for BUG#19580.
storage/myisam/ft_parser.c:
Use WL1386 "CTYPE table for unicode character sets" functionality.
storage/myisam/ft_update.c:
Use WL1386 "CTYPE table for unicode character sets" functionality.
Reverse fix for BUG#16489 "utf8 + fulltext leads to corrupt index
file.". It is not needed anymore, since we have true ctype
implementation.
storage/myisam/ftdefs.h:
Use WL1386 "CTYPE table for unicode character sets" functionality.
Rework true_word_char macro so it accepts ctype instead of charset
as first param. It doesn't use my_isalnum anymore, but instead
directly checks ctype.
Obsolete word_char macro removed.
Diffstat (limited to 'mysql-test/t/fulltext2.test')
-rw-r--r-- | mysql-test/t/fulltext2.test | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/mysql-test/t/fulltext2.test b/mysql-test/t/fulltext2.test index fd97f795534..88967a5dd04 100644 --- a/mysql-test/t/fulltext2.test +++ b/mysql-test/t/fulltext2.test @@ -221,3 +221,13 @@ drop table t1; set names latin1; # End of 4.1 tests + +# +# BUG#19580 - FULLTEXT search produces wrong results on UTF-8 columns +# +SET NAMES utf8; +CREATE TABLE t1(a VARCHAR(255), FULLTEXT(a)) ENGINE=MyISAM DEFAULT CHARSET=utf8; +INSERT INTO t1 VALUES('„MySQL“'); +SELECT a FROM t1 WHERE MATCH a AGAINST('“MySQL„' IN BOOLEAN MODE); +DROP TABLE t1; +SET NAMES latin1; |