mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
This commit is contained in:
@@ -192,6 +192,8 @@ select count(*) from t3;
|
|||||||
count(*)
|
count(*)
|
||||||
1199
|
1199
|
||||||
rename table t3 to t4;
|
rename table t3 to t4;
|
||||||
|
Warnings:
|
||||||
|
Error 7 Error on rename of './test/t3.ARN' to './test/t4.ARN' (Errcode: 2)
|
||||||
select * from t4 where fld3='bonfire';
|
select * from t4 where fld3='bonfire';
|
||||||
auto fld1 companynr fld3 fld4 fld5 fld6
|
auto fld1 companynr fld3 fld4 fld5 fld6
|
||||||
1191 068504 00 bonfire corresponds positively
|
1191 068504 00 bonfire corresponds positively
|
||||||
|
@@ -447,35 +447,6 @@ const char **ha_archive::bas_ext() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
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");
|
|
||||||
DBUG_PRINT("enter", ("from: %s, to: %s", from, to));
|
|
||||||
for (const char **ext=bas_ext(); *ext ; ext++)
|
|
||||||
{
|
|
||||||
// Check if the .arn file exists before rename
|
|
||||||
if (!my_strcasecmp(system_charset_info, *ext, ARN))
|
|
||||||
{
|
|
||||||
char name[FN_REFLEN];
|
|
||||||
(void)strxnmov(name, FN_REFLEN, from, ARN, NullS);
|
|
||||||
if (access(name, F_OK))
|
|
||||||
{
|
|
||||||
DBUG_PRINT("info", ("%s does not exist on disk, skipping it", name));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (rename_file_ext(from,to,*ext))
|
|
||||||
DBUG_RETURN(my_errno);
|
|
||||||
}
|
|
||||||
DBUG_RETURN(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
When opening a file we:
|
When opening a file we:
|
||||||
Create/get our shared structure.
|
Create/get our shared structure.
|
||||||
|
@@ -104,7 +104,6 @@ public:
|
|||||||
int end_bulk_insert();
|
int end_bulk_insert();
|
||||||
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
|
THR_LOCK_DATA **store_lock(THD *thd, THR_LOCK_DATA **to,
|
||||||
enum thr_lock_type lock_type);
|
enum thr_lock_type lock_type);
|
||||||
int rename_table(const char * from, const char * to);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
handlerton *archive_db_init(void);
|
handlerton *archive_db_init(void);
|
||||||
|
@@ -1772,13 +1772,17 @@ int handler::delete_table(const char *name)
|
|||||||
|
|
||||||
int handler::rename_table(const char * from, const char * to)
|
int handler::rename_table(const char * from, const char * to)
|
||||||
{
|
{
|
||||||
DBUG_ENTER("handler::rename_table");
|
int error= 0;
|
||||||
for (const char **ext=bas_ext(); *ext ; ext++)
|
for (const char **ext= bas_ext(); *ext ; ext++)
|
||||||
{
|
{
|
||||||
if (rename_file_ext(from,to,*ext))
|
if (rename_file_ext(from, to, *ext))
|
||||||
DBUG_RETURN(my_errno);
|
{
|
||||||
|
if ((error=my_errno) != ENOENT)
|
||||||
|
break;
|
||||||
|
error= 0;
|
||||||
}
|
}
|
||||||
DBUG_RETURN(0);
|
}
|
||||||
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user