summaryrefslogtreecommitdiff
path: root/myisam/ft_nlq_search.c
diff options
context:
space:
mode:
authorunknown <serg@serg.mysql.com>2002-04-15 20:32:40 +0000
committerunknown <serg@serg.mysql.com>2002-04-15 20:32:40 +0000
commitd8764f0b4a83bcd5958dad215c7bc59db807dc39 (patch)
treec17f60b1d5e1e0f9131ce25d7c3633df8dd60406 /myisam/ft_nlq_search.c
parent8fcaf4a3fb188cbc9df6290f3731beeee5a55c3c (diff)
downloadmariadb-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.c7
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;