mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fixes for FULLTEXT and TIME type
Docs/manual.texi: Update of Linux notes and mysql_install_db include/my_tree.h: new tree function myisam/ft_parser.c: Fix free() bug myisam/ft_search.c: Fix free() bug myisam/ft_update.c: Fix free() bug scripts/safe_mysqld.sh: Check if we run as root sql-bench/Results-linux/ATIS-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/ATIS-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/RUN-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/RUN-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/alter-table-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/alter-table-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/big-tables-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/big-tables-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/connect-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/connect-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/create-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/create-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/insert-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/insert-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/select-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/select-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/wisconsin-mysql-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/Results-linux/wisconsin-mysql_fast-Linux_2.2.13_SMP_alpha: ***MISSING WEAVE*** sql-bench/server-cfg.sh: Added use of OPTIMIZE TABLE sql-bench/test-ATIS.sh: Added use of OPTIMIZE TABLE sql-bench/test-insert.sh: Added use of OPTIMIZE TABLE sql-bench/test-select.sh: Added use of OPTIMIZE TABLE sql-bench/test-wisconsin.sh: Added use of OPTIMIZE TABLE sql/field.cc: Fix TIME type sql/item_func.h: Fixed Free bug
This commit is contained in:
@ -86,8 +86,8 @@ FT_WORD * ft_linearize(MI_INFO *info, uint keynr, byte *keybuf, TREE *wtree)
|
||||
tree_walk(wtree,(tree_walk_action)&walk_and_copy,&docstat,left_root_right);
|
||||
}
|
||||
delete_tree(wtree);
|
||||
free(wtree);
|
||||
if(wlist==NULL)
|
||||
my_free((char*) wtree,MYF(0));
|
||||
if (wlist==NULL)
|
||||
return NULL;
|
||||
|
||||
docstat.list->pos=NULL;
|
||||
@ -127,24 +127,24 @@ TREE * ft_parse(TREE *wtree, byte *doc, int doclen)
|
||||
byte *end=doc+doclen;
|
||||
FT_WORD w;
|
||||
|
||||
if(!wtree)
|
||||
if (!wtree)
|
||||
{
|
||||
if(!(wtree=(TREE *)my_malloc(sizeof(TREE),MYF(0)))) return NULL;
|
||||
if (!(wtree=(TREE *)my_malloc(sizeof(TREE),MYF(0)))) return NULL;
|
||||
init_tree(wtree,0,sizeof(FT_WORD),(qsort_cmp)&FT_WORD_cmp,0,NULL);
|
||||
}
|
||||
|
||||
w.weight=0;
|
||||
while(doc<end)
|
||||
while (doc<end)
|
||||
{
|
||||
for(;doc<end;doc++)
|
||||
if(word_char(*doc)) break;
|
||||
for(w.pos=doc; doc<end; doc++)
|
||||
if(!word_char(*doc)) break;
|
||||
if((w.len= (uint) (doc-w.pos)) < MIN_WORD_LEN) continue;
|
||||
if(!tree_insert(wtree, &w, 0))
|
||||
for (;doc<end;doc++)
|
||||
if (word_char(*doc)) break;
|
||||
for (w.pos=doc; doc<end; doc++)
|
||||
if (!word_char(*doc)) break;
|
||||
if ((w.len= (uint) (doc-w.pos)) < MIN_WORD_LEN) continue;
|
||||
if (!tree_insert(wtree, &w, 0))
|
||||
{
|
||||
delete_tree(wtree);
|
||||
free(wtree);
|
||||
my_free((char*) wtree,MYF(0));
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user