diff options
author | Sergei Golubchik <serg@mariadb.org> | 2017-02-20 11:07:38 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2017-02-27 12:35:10 +0100 |
commit | 93cb0246b8c883c4f5010468892986fa1d5ba379 (patch) | |
tree | ae01658f5e51087c2597eff5a51428d6773cec52 /storage/maria | |
parent | 6d50324558e79d6e90848059bf7cd918685b02ba (diff) | |
download | mariadb-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.c | 11 |
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); } |