summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <paul@ice.snake.net>2004-02-29 18:42:31 -0600
committerunknown <paul@ice.snake.net>2004-02-29 18:42:31 -0600
commitea023a3020b8a1a72390469ffb3bac85e15ab525 (patch)
treecdc9a433c7068919f202a9562a2b3e20e7f27dd9
parent38fc3760ee713c5542752a0698b4dd4b50e3af3f (diff)
parent56f83127824e54b5363513c46eeee54726b071e4 (diff)
downloadmariadb-git-ea023a3020b8a1a72390469ffb3bac85e15ab525.tar.gz
Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1
into ice.snake.net:/Volumes/ice2/MySQL/bk/mysql-4.1
-rw-r--r--myisam/ft_nlq_search.c10
-rw-r--r--mysql-test/r/fulltext.result3
-rw-r--r--mysql-test/t/fulltext.test1
3 files changed, 9 insertions, 5 deletions
diff --git a/myisam/ft_nlq_search.c b/myisam/ft_nlq_search.c
index 38afbb527d5..45d13f56c6e 100644
--- a/myisam/ft_nlq_search.c
+++ b/myisam/ft_nlq_search.c
@@ -64,8 +64,8 @@ static int FT_SUPERDOC_cmp(void* cmp_arg __attribute__((unused)),
static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
{
- int subkeys;
- uint keylen, r, doc_cnt;
+ int subkeys, r;
+ uint keylen, doc_cnt;
FT_SUPERDOC sdoc, *sptr;
TREE_ELEMENT *selem;
double gweight=1;
@@ -73,7 +73,7 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
uchar *keybuff=aio->keybuff;
MI_KEYDEF *keyinfo=info->s->keyinfo+aio->keynr;
my_off_t key_root=info->s->state.key_root[aio->keynr];
- uint extra=HA_FT_WLEN+info->s->base.rec_reflength+1;
+ uint extra=HA_FT_WLEN+info->s->base.rec_reflength;
#if HA_FT_WTYPE == HA_KEYTYPE_FLOAT
float tmp_weight;
#else
@@ -96,10 +96,10 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio)
if (keylen &&
mi_compare_text(aio->charset,info->lastkey+1,
- info->lastkey_length-extra, keybuff+1,keylen-1,0))
+ info->lastkey_length-extra-1, keybuff+1,keylen-1,0))
break;
- subkeys=ft_sintXkorr(info->lastkey+keylen);
+ subkeys=ft_sintXkorr(info->lastkey+info->lastkey_length-extra);
if (subkeys<0)
{
if (doc_cnt)
diff --git a/mysql-test/r/fulltext.result b/mysql-test/r/fulltext.result
index 4207eb4f9a8..0c9fcb9a55e 100644
--- a/mysql-test/r/fulltext.result
+++ b/mysql-test/r/fulltext.result
@@ -346,6 +346,9 @@ t collation(t)
aus Osnabrück utf8_general_ci
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrueck');
t collation(t)
+SELECT t, collation(t),MATCH t AGAINST ('Osnabruck') FROM t1 WHERE MATCH t AGAINST ('Osnabruck');
+t collation(t) MATCH t AGAINST ('Osnabruck')
+aus Osnabrück utf8_general_ci 1.591139793396
alter table t1 modify t varchar(200) collate latin1_german2_ci not null;
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
t collation(t)
diff --git a/mysql-test/t/fulltext.test b/mysql-test/t/fulltext.test
index 48a3bc54240..1b56889aec7 100644
--- a/mysql-test/t/fulltext.test
+++ b/mysql-test/t/fulltext.test
@@ -268,6 +268,7 @@ SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
SET NAMES latin1;
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrueck');
+SELECT t, collation(t),MATCH t AGAINST ('Osnabruck') FROM t1 WHERE MATCH t AGAINST ('Osnabruck');
#alter table t1 modify t text character set latin1 collate latin1_german2_ci not null;
alter table t1 modify t varchar(200) collate latin1_german2_ci not null;
SELECT t, collation(t) FROM t1 WHERE MATCH t AGAINST ('Osnabrück');