summaryrefslogtreecommitdiff
path: root/myisam/ft_nlq_search.c
diff options
context:
space:
mode:
authorserg@serg.mylan <>2004-02-29 22:58:45 +0100
committerserg@serg.mylan <>2004-02-29 22:58:45 +0100
commit0ea1dd850dffe5ca6109b06f6f9b4f77f076d682 (patch)
tree04343af19e2ae9546f96c2d6c17de9bd08633d9f /myisam/ft_nlq_search.c
parent25de454da2976ea18280faf6e795939a2f8589b4 (diff)
downloadmariadb-git-0ea1dd850dffe5ca6109b06f6f9b4f77f076d682.tar.gz
bug#3011 - multi-byte charset in fulltext
Diffstat (limited to 'myisam/ft_nlq_search.c')
-rw-r--r--myisam/ft_nlq_search.c10
1 files changed, 5 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)