summaryrefslogtreecommitdiff
path: root/storage/maria
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2017-02-20 11:07:38 +0100
committerSergei Golubchik <serg@mariadb.org>2017-02-27 12:35:10 +0100
commit93cb0246b8c883c4f5010468892986fa1d5ba379 (patch)
treeae01658f5e51087c2597eff5a51428d6773cec52 /storage/maria
parent6d50324558e79d6e90848059bf7cd918685b02ba (diff)
downloadmariadb-git-93cb0246b8c883c4f5010468892986fa1d5ba379.tar.gz
race-condition safe implementation of mi_delete_table/maria_delete_table
Diffstat (limited to 'storage/maria')
-rw-r--r--storage/maria/ma_delete_table.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/storage/maria/ma_delete_table.c b/storage/maria/ma_delete_table.c
index 09d5cde5ad0..c4bcd5ba060 100644
--- a/storage/maria/ma_delete_table.c
+++ b/storage/maria/ma_delete_table.c
@@ -84,15 +84,10 @@ int maria_delete_table(const char *name)
int maria_delete_table_files(const char *name, myf sync_dir)
{
- char from[FN_REFLEN];
DBUG_ENTER("maria_delete_table_files");
- fn_format(from,name,"",MARIA_NAME_IEXT,MY_UNPACK_FILENAME|MY_APPEND_EXT);
- if (mysql_file_delete_with_symlink(key_file_kfile, from,
- MYF(MY_WME | sync_dir)))
+ if (my_handler_delete_with_symlink(key_file_kfile, name, MARIA_NAME_IEXT, sync_dir) ||
+ my_handler_delete_with_symlink(key_file_dfile, name, MARIA_NAME_DEXT, sync_dir))
DBUG_RETURN(my_errno);
- fn_format(from,name,"",MARIA_NAME_DEXT,MY_UNPACK_FILENAME|MY_APPEND_EXT);
- DBUG_RETURN(mysql_file_delete_with_symlink(key_file_dfile,
- from, MYF(MY_WME | sync_dir)) ?
- my_errno : 0);
+ DBUG_RETURN(0);
}