diff options
author | unknown <serg@serg.mylan> | 2005-02-04 15:24:06 +0100 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2005-02-04 15:24:06 +0100 |
commit | 8c750c466b0109723233e93aea85a39673409b40 (patch) | |
tree | 2046dfa1cc3d0a3296de2bdfbd4d1ad59ece8f58 /myisam/ft_boolean_search.c | |
parent | c83412f7059f54b8e7065d63fc544125ebf30aaa (diff) | |
download | mariadb-git-8c750c466b0109723233e93aea85a39673409b40.tar.gz |
indexless boolean fulltext search was depending on default_charset_info - Bug#8159
ftbw->off wasn't cleared on reinit - Bug#8234
include/ft_global.h:
get rid of default_charset_info in indexless fulltext searches
myisam/ft_boolean_search.c:
get rid of default_charset_info in indexless fulltext searches
clear ftbw->off on reinits
myisam/ft_static.c:
get rid of default_charset_info in indexless fulltext searches
myisam/ftdefs.h:
get rid of default_charset_info in indexless fulltext searches
sql/ha_myisam.h:
get rid of default_charset_info in indexless fulltext searches
sql/handler.h:
get rid of default_charset_info in indexless fulltext searches
sql/item_func.cc:
get rid of default_charset_info in indexless fulltext searches
Diffstat (limited to 'myisam/ft_boolean_search.c')
-rw-r--r-- | myisam/ft_boolean_search.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/myisam/ft_boolean_search.c b/myisam/ft_boolean_search.c index aab3854dd34..4253b5ff96f 100644 --- a/myisam/ft_boolean_search.c +++ b/myisam/ft_boolean_search.c @@ -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; } @@ -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; @@ -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)); |