mirror of
https://github.com/MariaDB/server.git
synced 2025-08-07 00:04:31 +03:00
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.
This commit is contained in:
@@ -55,8 +55,6 @@
|
|||||||
|
|
||||||
/* static functions defined in this file */
|
/* 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;
|
static SHOW_COMP_OPTION have_yes= SHOW_OPTION_YES;
|
||||||
|
|
||||||
/* list of all available storage engines (of their handlertons) */
|
/* list of all available storage engines (of their handlertons) */
|
||||||
@@ -1585,17 +1583,19 @@ uint handler::get_dup_key(int error)
|
|||||||
RETURN
|
RETURN
|
||||||
0 If we successfully deleted at least one file from base_ext and
|
0 If we successfully deleted at least one file from base_ext and
|
||||||
didn't get any other errors than ENOENT
|
didn't get any other errors than ENOENT
|
||||||
# Error from delete_file()
|
# Error
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int handler::delete_table(const char *name)
|
int handler::delete_table(const char *name)
|
||||||
{
|
{
|
||||||
int error= 0;
|
int error= 0;
|
||||||
int enoent_or_zero= ENOENT; // Error if no file was deleted
|
int enoent_or_zero= ENOENT; // Error if no file was deleted
|
||||||
|
char buff[FN_REFLEN];
|
||||||
|
|
||||||
for (const char **ext=bas_ext(); *ext ; ext++)
|
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)
|
if ((error= my_errno) != ENOENT)
|
||||||
break;
|
break;
|
||||||
@@ -1766,13 +1766,6 @@ err_end:
|
|||||||
DBUG_RETURN(error);
|
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()
|
void st_ha_check_opt::init()
|
||||||
{
|
{
|
||||||
flags= sql_flags= 0;
|
flags= sql_flags= 0;
|
||||||
|
Reference in New Issue
Block a user