1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Fix that end_bulk_insert() doesn't write to to-be-deleted files

This affected mainly MyISAM and Aria engines.
Also fixed that end_bulk_insert() detects errors from
internal mi_end_bulk_insert() and ma_end_bulk_insert()

- delete_tree() and delete_tree_element() now has an
  extra argument that marks if future calls to
  tree->free should be ignored.
- tree->free changed to function returning int, to be
  able to signal errors.
- Restored deleting flag in MyISAM that was accidently
  disabled in mi_extra(PREPARE_FOR_DROP)
This commit is contained in:
Monty
2017-05-17 00:34:48 +03:00
parent 314350a722
commit 6378c95ee0
24 changed files with 159 additions and 85 deletions

View File

@@ -59,7 +59,7 @@ FT_WORD * ft_linearize(TREE *wtree, MEM_ROOT *mem_root)
docstat.sum=0;
tree_walk(wtree,(tree_walk_action)&walk_and_copy,&docstat,left_root_right);
}
delete_tree(wtree);
delete_tree(wtree, 0);
if (!wlist)
DBUG_RETURN(NULL);
@@ -277,7 +277,7 @@ static int ft_add_word(MYSQL_FTPARSER_PARAM *param,
w.len= word_len;
if (!tree_insert(wtree, &w, 0, wtree->custom_arg))
{
delete_tree(wtree);
delete_tree(wtree, 0);
DBUG_RETURN(1);
}
DBUG_RETURN(0);