From 76835818f18effafc4e5053191a3fc34d07aed7a Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Mar 2005 18:33:01 +0400 Subject: [PATCH] a fix (bug #7205: "archive" test fails on UnixWare when using prepared statements) sql/handler.cc: s/MY_WME/0/ - don't issue an error when a file does not exists on deletion, a table does not need to have all bas_ext[] files; two-line function removed and expanded inline. --- sql/handler.cc | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/sql/handler.cc b/sql/handler.cc index 9077622dd8c..7cb0ba3bee2 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -55,8 +55,6 @@ /* static functions defined in this file */ -static int NEAR_F delete_file(const char *name,const char *ext,int extflag); - static SHOW_COMP_OPTION have_yes= SHOW_OPTION_YES; /* list of all available storage engines (of their handlertons) */ @@ -1585,17 +1583,19 @@ uint handler::get_dup_key(int error) RETURN 0 If we successfully deleted at least one file from base_ext and didn't get any other errors than ENOENT - # Error from delete_file() + # Error */ int handler::delete_table(const char *name) { int error= 0; int enoent_or_zero= ENOENT; // Error if no file was deleted + char buff[FN_REFLEN]; for (const char **ext=bas_ext(); *ext ; ext++) { - if (delete_file(name,*ext,2)) + fn_format(buff, name, "", *ext, 2 | 4); + if (my_delete_with_symlink(buff, MYF(0))) { if ((error= my_errno) != ENOENT) break; @@ -1766,13 +1766,6 @@ err_end: DBUG_RETURN(error); } -static int NEAR_F delete_file(const char *name,const char *ext,int extflag) -{ - char buff[FN_REFLEN]; - VOID(fn_format(buff,name,"",ext,extflag | 4)); - return(my_delete_with_symlink(buff,MYF(MY_WME))); -} - void st_ha_check_opt::init() { flags= sql_flags= 0;