summaryrefslogtreecommitdiff
path: root/mysys/my_rename.c
diff options
context:
space:
mode:
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))