diff options
author | unknown <serg@serg.mysql.com> | 2002-04-15 20:32:40 +0000 |
---|---|---|
committer | unknown <serg@serg.mysql.com> | 2002-04-15 20:32:40 +0000 |
commit | d8764f0b4a83bcd5958dad215c7bc59db807dc39 (patch) | |
tree | c17f60b1d5e1e0f9131ce25d7c3633df8dd60406 /myisam/ft_nlq_search.c | |
parent | 8fcaf4a3fb188cbc9df6290f3731beeee5a55c3c (diff) | |
download | mariadb-git-d8764f0b4a83bcd5958dad215c7bc59db807dc39.tar.gz |
getting rid of default_charset_info
Diffstat (limited to 'myisam/ft_nlq_search.c')
-rw-r--r-- | myisam/ft_nlq_search.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/myisam/ft_nlq_search.c b/myisam/ft_nlq_search.c index ac9fa5a9a8c..42f7d7fc8cf 100644 --- a/myisam/ft_nlq_search.c +++ b/myisam/ft_nlq_search.c @@ -37,6 +37,7 @@ struct st_ft_info { typedef struct st_all_in_one { MI_INFO *info; uint keynr; + CHARSET_INFO *charset; uchar *keybuff; MI_KEYDEF *keyinfo; my_off_t key_root; @@ -93,7 +94,7 @@ static int walk_and_match(FT_WORD *word, uint32 count, ALL_IN_ONE *aio) while(!r) { - if (_mi_compare_text(default_charset_info, + if (_mi_compare_text(aio->charset, aio->info->lastkey,keylen, aio->keybuff,keylen,0)) break; @@ -184,8 +185,9 @@ FT_INFO *ft_init_nlq_search(MI_INFO *info, uint keynr, byte *query, aio.info=info; aio.keynr=keynr; - aio.keybuff=info->lastkey+info->s->base.max_key_length; aio.keyinfo=info->s->keyinfo+keynr; + aio.charset=aio.keyinfo->seg->charset; + aio.keybuff=info->lastkey+info->s->base.max_key_length; aio.key_root=info->s->state.key_root[keynr]; bzero(&allocated_wtree,sizeof(allocated_wtree)); @@ -193,6 +195,7 @@ FT_INFO *ft_init_nlq_search(MI_INFO *info, uint keynr, byte *query, init_tree(&aio.dtree,0,0,sizeof(FT_SUPERDOC),(qsort_cmp2)&FT_SUPERDOC_cmp,0, NULL, NULL); + ft_parse_init(&allocated_wtree, aio.charset); if(ft_parse(&allocated_wtree,query,query_len)) goto err; |