diff --git a/sql/examples/ha_archive.cc b/sql/examples/ha_archive.cc index 0e1df45a70b..bc4af0c7dc7 100644 --- a/sql/examples/ha_archive.cc +++ b/sql/examples/ha_archive.cc @@ -427,30 +427,6 @@ const char **ha_archive::bas_ext() const { static const char *ext[]= { ARZ, ARN, ARM, NullS }; return ext; } -/* - Rename all files that this handler defines in bas_ext list - - NOTE Don't care if the .arn file is missing -*/ -int ha_archive::rename_table(const char * from, const char * to) -{ - DBUG_ENTER("ha_archive::rename_table"); - for (const char **ext=bas_ext(); *ext ; ext++) - { - if (rename_file_ext(from,to,*ext)) - { - if (my_errno == ENOENT && - !my_strcasecmp(system_charset_info, *ext, ARN)) - continue; - - DBUG_RETURN(my_errno); - } - - } - DBUG_RETURN(0); -} - - /* When opening a file we: Create/get our shared structure. diff --git a/sql/examples/ha_archive.h b/sql/examples/ha_archive.h index 1d3365aca67..855d756368d 100644 --- a/sql/examples/ha_archive.h +++ b/sql/examples/ha_archive.h @@ -124,7 +124,6 @@ public: int optimize(THD* thd, HA_CHECK_OPT* check_opt); THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to, enum thr_lock_type lock_type); - int rename_table(const char * from, const char * to); }; bool archive_db_init(void); diff --git a/sql/handler.cc b/sql/handler.cc index 7c369a72392..f174f51514e 100644 --- a/sql/handler.cc +++ b/sql/handler.cc @@ -1255,13 +1255,17 @@ int handler::delete_table(const char *name) int handler::rename_table(const char * from, const char * to) { - DBUG_ENTER("handler::rename_table"); - for (const char **ext=bas_ext(); *ext ; ext++) + int error= 0; + for (const char **ext= bas_ext(); *ext ; ext++) { - if (rename_file_ext(from,to,*ext)) - DBUG_RETURN(my_errno); + if (rename_file_ext(from, to, *ext)) + { + if ((error=my_errno) != ENOENT) + break; + error= 0; + } } - DBUG_RETURN(0); + return error; } /*