summaryrefslogtreecommitdiff
path: root/mysys/my_rename.c
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2002-12-14 12:57:12 +0200
committerunknown <monty@mashka.mysql.fi>2002-12-14 12:57:12 +0200
commit0c8582b3c3691aedd72812721b6c6e83fc5256d8 (patch)
tree5c7d0e037b0b8c075ec672c83b31a85c067de2e3 /mysys/my_rename.c
parent697f939e2c8e4188ac180fb10b04a9f5bf035c91 (diff)
downloadmariadb-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.c7
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))