summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--myisam/ft_boolean_search.c1
-rw-r--r--myisam/ft_parser.c2
-rw-r--r--mysql-test/r/fulltext.result10
-rw-r--r--mysql-test/t/fulltext.test3
4 files changed, 15 insertions, 1 deletions
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c
index a026a8613dc..f78d2e3c05f 100644
--- a/myisam/ft_boolean_search.c
+++ b/myisam/ft_boolean_search.c
@@ -166,6 +166,7 @@ void _ftb_parse_query(FTB *ftb, byte **start, byte *end,
if ((ftbe->quot=param.quot)) ftb->with_scan|=2;
if (param.yesno > 0) up->ythresh++;
_ftb_parse_query(ftb, start, end, ftbe, depth+1);
+ param.quot=0;
break;
case 3: /* right bracket */
if (up->quot) up->qend=param.quot;
diff --git a/myisam/ft_parser.c b/myisam/ft_parser.c
index 39dcf4b458b..944b9efb35a 100644
--- a/myisam/ft_parser.c
+++ b/myisam/ft_parser.c
@@ -134,7 +134,7 @@ byte ft_get_word(byte **start, byte *end, FT_WORD *word, FTB_PARAM *param)
{
if (true_word_char(*doc)) break;
if (*doc == FTB_RQUOT && param->quot) {
- param->quot=doc-1;
+ param->quot=doc;
*start=doc+1;
return 3; /* FTB_RBR */
}
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result
index 5ee90c38585..7344997bd1b 100644
--- a/mysql-test/r/fulltext.result
+++ b/mysql-test/r/fulltext.result
@@ -70,6 +70,16 @@ Full-text search in MySQL implements vector space model 0
select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
a b
MySQL has now support for full-text search
+select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE);
+a b
+Full-text search in MySQL implements vector space model
+select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE);
+a b
+MySQL has now support for full-text search
select * from t1 where MATCH a AGAINST ("search" IN BOOLEAN MODE);
a b
Full-text search in MySQL implements vector space model
diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test
index a7a40706e89..f9ecde1d6e2 100644
--- a/mysql-test/t/fulltext.test
+++ b/mysql-test/t/fulltext.test
@@ -34,6 +34,9 @@ select *, MATCH(a,b) AGAINST("support collections" IN BOOLEAN MODE) as x from t1
select *, MATCH(a,b) AGAINST("collections support" IN BOOLEAN MODE) as x from t1;
select * from t1 where MATCH a,b AGAINST ('"Now sUPPort"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text search" "now support"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text search" -"now support"' IN BOOLEAN MODE);
+select * from t1 where MATCH a,b AGAINST ('"text search" +"now support"' IN BOOLEAN MODE);
# boolean w/o index: