mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 11:57:38 +02:00
Now ftparser does not need to bother about memory management -
it can tell MySQL to make a copy of everything (bug#17123) include/mysql/plugin.h: Now ftparser does not need to bother about memory management - it can tell MySQL to make a copy of everything (bug#17123) MYSQL_FTFLAGS_NEED_COPY flag storage/myisam/ft_boolean_search.c: param->flags storage/myisam/ft_nlq_search.c: param->flags. ft_parse takes a mem_root as an argument storage/myisam/ft_parser.c: ftparser takes a memroot as an argument. words are copied there, if necessary. memroot is reset for every parsing and free'd at the end of the statement. storage/myisam/ft_update.c: ftparser takes a memroot as an argument. words are copied there, if necessary. memroot is reset for every parsing and free'd at the end of the statement. storage/myisam/ftdefs.h: ftparser takes a memroot as an argument. words are copied there, if necessary. memroot is reset for every parsing and free'd at the end of the statement. storage/myisam/mi_check.c: ftparser takes a memroot as an argument. words are copied there, if necessary storage/myisam/myisamdef.h: memroot for ftparser in MI_INFO and MI_SORT_PARAM storage/myisam/sort.c: free ftparser memroot
This commit is contained in:
parent
f1bb09e777
commit
15a13203f1
9 changed files with 87 additions and 60 deletions
|
|
@ -311,6 +311,7 @@ static void _ftb_parse_query(FTB *ftb, byte *query, uint len,
|
|||
param->cs= ftb->charset;
|
||||
param->doc= query;
|
||||
param->length= len;
|
||||
param->flags= 0;
|
||||
param->mode= MYSQL_FTPARSER_FULL_BOOLEAN_INFO;
|
||||
parser->parse(param);
|
||||
DBUG_VOID_RETURN;
|
||||
|
|
@ -665,6 +666,7 @@ static int _ftb_check_phrase(FTB *ftb, const byte *document, uint len,
|
|||
param->cs= ftb->charset;
|
||||
param->doc= (byte *)document;
|
||||
param->length= len;
|
||||
param->flags= 0;
|
||||
param->mode= MYSQL_FTPARSER_WITH_STOPWORDS;
|
||||
parser->parse(param);
|
||||
DBUG_RETURN(ftb_param.match ? 1 : 0);
|
||||
|
|
@ -916,6 +918,7 @@ float ft_boolean_find_relevance(FT_INFO *ftb, byte *record, uint length)
|
|||
param->mysql_parse= ftb_find_relevance_parse;
|
||||
param->mysql_add_word= ftb_find_relevance_add_word;
|
||||
param->mysql_ftparam= (void *)&ftb_param;
|
||||
param->flags= 0;
|
||||
param->cs= ftb->charset;
|
||||
param->mode= MYSQL_FTPARSER_SIMPLE_MODE;
|
||||
while (_mi_ft_segiterator(&ftsi))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue