diff options
author | unknown <monty@mashka.mysql.fi> | 2002-12-14 12:57:12 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2002-12-14 12:57:12 +0200 |
commit | 0c8582b3c3691aedd72812721b6c6e83fc5256d8 (patch) | |
tree | 5c7d0e037b0b8c075ec672c83b31a85c067de2e3 /mysys/my_rename.c | |
parent | 697f939e2c8e4188ac180fb10b04a9f5bf035c91 (diff) | |
download | mariadb-git-0c8582b3c3691aedd72812721b6c6e83fc5256d8.tar.gz |
On windows, delete any conflicting 'to' files on rename(from,to)
This fixes a bug with REPAIR TABLE t1 USE_FRM on windows.
mysys/my_rename.c:
On windows, delete any conflicting 'to' files on rename(from,to)
Diffstat (limited to 'mysys/my_rename.c')
-rw-r--r-- | mysys/my_rename.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/mysys/my_rename.c b/mysys/my_rename.c index ea895ffcf76..1b7f434e792 100644 --- a/mysys/my_rename.c +++ b/mysys/my_rename.c @@ -46,6 +46,13 @@ int my_rename(const char *from, const char *to, myf MyFlags) } #endif #if defined(HAVE_RENAME) +#ifdef __WIN__ + /* + On windows we can't rename over an existing file: + Remove any conflicting files: + */ + (void) my_delete(to, MYF(0)); +#endif if (rename(from,to)) #else if (link(from, to) || unlink(from)) |