mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
DROP DATABASE with symlinks did not work before
This commit is contained in:
@ -46771,6 +46771,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Fixed bug in DROP DATABASE with symlink
|
||||
@item
|
||||
Multi-table @code{DELETE}.
|
||||
@item
|
||||
Don't support old client protocols prior to MySQL 3.21 any more.
|
||||
|
@ -271,9 +271,16 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *org_path,
|
||||
*/
|
||||
if (!found_other_files)
|
||||
{
|
||||
char tmp_path[FN_REFLEN];
|
||||
char tmp_path[FN_REFLEN], lnk_path[FN_REFLEN];
|
||||
char *path=unpack_filename(tmp_path,org_path);
|
||||
#ifdef HAVE_READLINK
|
||||
if (path[0] == FN_CURLIB)
|
||||
{
|
||||
int length = (strxmov(lnk_path,curr_dir,path + 2, NullS) - lnk_path) - 1;
|
||||
path=lnk_path;
|
||||
if (path[length] == FN_LIBCHAR)
|
||||
path[length]='\0';
|
||||
}
|
||||
int linkcount = readlink(path,filePath,sizeof(filePath)-1);
|
||||
if (linkcount > 0) // If the path was a symbolic link
|
||||
{
|
||||
|
Reference in New Issue
Block a user