20
#include "myisamdef.h"
22
22
int mi_rename(const char *old_name, const char *new_name)
24
24
char from[FN_REFLEN],to[FN_REFLEN];
26
uint raid_type=0,raid_chunks=0;
28
DBUG_ENTER("mi_rename");
31
check_table_is_closed(old_name,"rename old_table");
32
check_table_is_closed(new_name,"rename new table2");
37
if (!(info=mi_open(old_name, O_RDONLY, 0)))
38
DBUG_RETURN(my_errno);
39
raid_type = info->s->base.raid_type;
40
raid_chunks = info->s->base.raid_chunks;
44
check_table_is_closed(old_name,"rename raidcheck");
26
48
fn_format(from,old_name,"",MI_NAME_IEXT,MY_UNPACK_FILENAME|MY_APPEND_EXT);
27
49
fn_format(to,new_name,"",MI_NAME_IEXT,MY_UNPACK_FILENAME|MY_APPEND_EXT);
28
50
if (my_rename_with_symlink(from, to, MYF(MY_WME)))
51
DBUG_RETURN(my_errno);
30
52
fn_format(from,old_name,"",MI_NAME_DEXT,MY_UNPACK_FILENAME|MY_APPEND_EXT);
31
53
fn_format(to,new_name,"",MI_NAME_DEXT,MY_UNPACK_FILENAME|MY_APPEND_EXT);
32
return(my_rename_with_symlink(from, to,MYF(MY_WME)) ? my_errno : 0);
56
DBUG_RETURN(my_raid_rename(from, to, raid_chunks, MYF(MY_WME)) ? my_errno :
59
DBUG_RETURN(my_rename_with_symlink(from, to,MYF(MY_WME)) ? my_errno : 0);