Loading include/ft_global.h +1 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ void ft_free_stopwords(void); #define FT_SORTED 2 #define FT_EXPAND 4 /* query expansion */ FT_INFO *ft_init_search(uint,void *, uint, byte *, uint, byte *); FT_INFO *ft_init_search(uint,void *, uint, byte *, uint,CHARSET_INFO *, byte *); my_bool ft_boolean_check_syntax_string(const byte *); #ifdef __cplusplus Loading myisam/ft_boolean_search.c +4 −3 Original line number Diff line number Diff line Loading @@ -365,6 +365,7 @@ static void _ftb_init_index_search(FT_INFO *ftb) reset_tree(& ftb->no_dupes); } ftbw->off=0; /* in case of reinit */ if (_ft2_search(ftb, ftbw, 1)) return; } Loading @@ -373,7 +374,7 @@ static void _ftb_init_index_search(FT_INFO *ftb) FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query, uint query_len) uint query_len, CHARSET_INFO *cs) { FTB *ftb; FTB_EXPR *ftbe; Loading @@ -385,8 +386,8 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query, ftb->state=UNINITIALIZED; ftb->info=info; ftb->keynr=keynr; ftb->charset= ((keynr==NO_SUCH_KEY) ? default_charset_info : info->s->keyinfo[keynr].seg->charset); ftb->charset=cs; DBUG_ASSERT(keynr==NO_SUCH_KEY || cs == info->s->keyinfo[keynr].seg->charset); ftb->with_scan=0; ftb->lastpos=HA_OFFSET_ERROR; bzero(& ftb->no_dupes, sizeof(TREE)); Loading myisam/ft_static.c +3 −2 Original line number Diff line number Diff line Loading @@ -55,11 +55,12 @@ const struct _ft_vft _ft_vft_boolean = { FT_INFO *ft_init_search(uint flags, void *info, uint keynr, byte *query, uint query_len, byte *record) byte *query, uint query_len, CHARSET_INFO *cs, byte *record) { FT_INFO *res; if (flags & FT_BOOL) res= ft_init_boolean_search((MI_INFO *)info, keynr, query, query_len); res= ft_init_boolean_search((MI_INFO *)info, keynr, query, query_len,cs); else res= ft_init_nlq_search((MI_INFO *)info, keynr, query, query_len, flags, record); Loading myisam/ftdefs.h +1 −1 Original line number Diff line number Diff line Loading @@ -131,7 +131,7 @@ FT_WORD * _mi_ft_parserecord(MI_INFO *, uint, const byte *); uint _mi_ft_parse(TREE *, MI_INFO *, uint, const byte *, my_bool); FT_INFO *ft_init_nlq_search(MI_INFO *, uint, byte *, uint, uint, byte *); FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint); FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint, CHARSET_INFO *); extern const struct _ft_vft _ft_vft_nlq; int ft_nlq_read_next(FT_INFO *, char *); Loading sql/ha_myisam.h +6 −2 Original line number Diff line number Diff line Loading @@ -88,8 +88,12 @@ class ha_myisam: public handler ft_handler->please->reinit_search(ft_handler); return 0; } FT_INFO *ft_init_ext(uint flags, uint inx,const byte *key, uint keylen) { return ft_init_search(flags,file,inx,(byte*) key,keylen, table->record[0]); } FT_INFO *ft_init_ext(uint flags, uint inx,String *key) { return ft_init_search(flags,file,inx, (byte *)key->ptr(), key->length(), key->charset(), table->record[0]); } int ft_read(byte *buf); int rnd_init(bool scan); int rnd_next(byte *buf); Loading Loading
include/ft_global.h +1 −1 Original line number Diff line number Diff line Loading @@ -62,7 +62,7 @@ void ft_free_stopwords(void); #define FT_SORTED 2 #define FT_EXPAND 4 /* query expansion */ FT_INFO *ft_init_search(uint,void *, uint, byte *, uint, byte *); FT_INFO *ft_init_search(uint,void *, uint, byte *, uint,CHARSET_INFO *, byte *); my_bool ft_boolean_check_syntax_string(const byte *); #ifdef __cplusplus Loading
myisam/ft_boolean_search.c +4 −3 Original line number Diff line number Diff line Loading @@ -365,6 +365,7 @@ static void _ftb_init_index_search(FT_INFO *ftb) reset_tree(& ftb->no_dupes); } ftbw->off=0; /* in case of reinit */ if (_ft2_search(ftb, ftbw, 1)) return; } Loading @@ -373,7 +374,7 @@ static void _ftb_init_index_search(FT_INFO *ftb) FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query, uint query_len) uint query_len, CHARSET_INFO *cs) { FTB *ftb; FTB_EXPR *ftbe; Loading @@ -385,8 +386,8 @@ FT_INFO * ft_init_boolean_search(MI_INFO *info, uint keynr, byte *query, ftb->state=UNINITIALIZED; ftb->info=info; ftb->keynr=keynr; ftb->charset= ((keynr==NO_SUCH_KEY) ? default_charset_info : info->s->keyinfo[keynr].seg->charset); ftb->charset=cs; DBUG_ASSERT(keynr==NO_SUCH_KEY || cs == info->s->keyinfo[keynr].seg->charset); ftb->with_scan=0; ftb->lastpos=HA_OFFSET_ERROR; bzero(& ftb->no_dupes, sizeof(TREE)); Loading
myisam/ft_static.c +3 −2 Original line number Diff line number Diff line Loading @@ -55,11 +55,12 @@ const struct _ft_vft _ft_vft_boolean = { FT_INFO *ft_init_search(uint flags, void *info, uint keynr, byte *query, uint query_len, byte *record) byte *query, uint query_len, CHARSET_INFO *cs, byte *record) { FT_INFO *res; if (flags & FT_BOOL) res= ft_init_boolean_search((MI_INFO *)info, keynr, query, query_len); res= ft_init_boolean_search((MI_INFO *)info, keynr, query, query_len,cs); else res= ft_init_nlq_search((MI_INFO *)info, keynr, query, query_len, flags, record); Loading
myisam/ftdefs.h +1 −1 Original line number Diff line number Diff line Loading @@ -131,7 +131,7 @@ FT_WORD * _mi_ft_parserecord(MI_INFO *, uint, const byte *); uint _mi_ft_parse(TREE *, MI_INFO *, uint, const byte *, my_bool); FT_INFO *ft_init_nlq_search(MI_INFO *, uint, byte *, uint, uint, byte *); FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint); FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint, CHARSET_INFO *); extern const struct _ft_vft _ft_vft_nlq; int ft_nlq_read_next(FT_INFO *, char *); Loading
sql/ha_myisam.h +6 −2 Original line number Diff line number Diff line Loading @@ -88,8 +88,12 @@ class ha_myisam: public handler ft_handler->please->reinit_search(ft_handler); return 0; } FT_INFO *ft_init_ext(uint flags, uint inx,const byte *key, uint keylen) { return ft_init_search(flags,file,inx,(byte*) key,keylen, table->record[0]); } FT_INFO *ft_init_ext(uint flags, uint inx,String *key) { return ft_init_search(flags,file,inx, (byte *)key->ptr(), key->length(), key->charset(), table->record[0]); } int ft_read(byte *buf); int rnd_init(bool scan); int rnd_next(byte *buf); Loading