Commit ca004b54 authored by unknown's avatar unknown

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into neptunus.(none):/home/msvensson/mysql/mysql-5.0
parents 4a33d88b e02fdbbb
...@@ -192,6 +192,8 @@ select count(*) from t3; ...@@ -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 ...@@ -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 @@ class ha_archive: public handler ...@@ -104,7 +104,6 @@ class ha_archive: public handler
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) ...@@ -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;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment