diff options
author | unknown <serg@serg.mylan> | 2006-05-30 18:15:18 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2006-05-30 18:15:18 +0200 |
commit | 15a13203f198102a74462cc5ffb5bbb8dc652a3f (patch) | |
tree | b1cfd64caab412e06dc9f1423722025c190d194f /storage/myisam/ftdefs.h | |
parent | f1bb09e777427145f614c52488ead02a62e062e2 (diff) | |
download | mariadb-git-15a13203f198102a74462cc5ffb5bbb8dc652a3f.tar.gz |
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
Diffstat (limited to 'storage/myisam/ftdefs.h')
-rw-r--r-- | storage/myisam/ftdefs.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/storage/myisam/ftdefs.h b/storage/myisam/ftdefs.h index 2c4cfa1ffd6..108faf4f1a3 100644 --- a/storage/myisam/ftdefs.h +++ b/storage/myisam/ftdefs.h @@ -30,6 +30,8 @@ #define FT_MAX_WORD_LEN_FOR_SORT 31 +#define FTPARSER_MEMROOT_ALLOC_SIZE 65536 + #define COMPILE_STOPWORDS_IN /* Interested readers may consult SMART @@ -119,12 +121,12 @@ void _mi_ft_segiterator_dummy_init(const byte *, uint, FT_SEG_ITERATOR *); uint _mi_ft_segiterator(FT_SEG_ITERATOR *); void ft_parse_init(TREE *, CHARSET_INFO *); -int ft_parse(TREE *, byte *, int, my_bool, struct st_mysql_ftparser *parser, - MYSQL_FTPARSER_PARAM *param); -FT_WORD * ft_linearize(TREE *); -FT_WORD * _mi_ft_parserecord(MI_INFO *, uint, const byte *); -uint _mi_ft_parse(TREE *, MI_INFO *, uint, const byte *, my_bool, - MYSQL_FTPARSER_PARAM *param); +int ft_parse(TREE *, byte *, int, struct st_mysql_ftparser *parser, + MYSQL_FTPARSER_PARAM *, MEM_ROOT *); +FT_WORD * ft_linearize(TREE *, MEM_ROOT *); +FT_WORD * _mi_ft_parserecord(MI_INFO *, uint, const byte *, MEM_ROOT *); +uint _mi_ft_parse(TREE *, MI_INFO *, uint, const byte *, + MYSQL_FTPARSER_PARAM *, MEM_ROOT *); FT_INFO *ft_init_nlq_search(MI_INFO *, uint, byte *, uint, uint, byte *); FT_INFO *ft_init_boolean_search(MI_INFO *, uint, byte *, uint, CHARSET_INFO *); |