On windows, delete any conflicting 'to' files on rename(from,to)

This fixes a bug with REPAIR TABLE t1 USE_FRM on windows.
This commit is contained in:
monty@mashka.mysql.fi 2002-12-14 12:57:12 +02:00
commit 70b97a980f

View file

@ -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))