summaryrefslogtreecommitdiff
path: root/sql/sql_db.cc
diff options
context:
space:
mode:
authorunknown <vva@eagle.mysql.r18.ru>2004-07-08 21:25:17 +0500
committerunknown <vva@eagle.mysql.r18.ru>2004-07-08 21:25:17 +0500
commit7a30ad715200e2c4f9a3d2c118c093408b59252a (patch)
tree98eb137b8e3319bc31fcf025ef1262508d0d70a4 /sql/sql_db.cc
parentaf0c28ffeb68e759c3a5026fd776a2b8f95bfde1 (diff)
downloadmariadb-git-7a30ad715200e2c4f9a3d2c118c093408b59252a.tar.gz
fixed Bug #4378 "create database IF NOT EXISTS thing" returns an error
sql/sql_db.cc: discarded final '\' in path for my_stat (for Win32) as the fix for Bug #4378 "create database IF NOT EXISTS thing" returns an error
Diffstat (limited to 'sql/sql_db.cc')
-rw-r--r--sql/sql_db.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/sql/sql_db.cc b/sql/sql_db.cc
index 9db2198268a..e3f892891f1 100644
--- a/sql/sql_db.cc
+++ b/sql/sql_db.cc
@@ -171,6 +171,7 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
int error = 0;
MY_STAT stat_info;
uint create_options = create_info ? create_info->options : 0;
+ uint path_len;
DBUG_ENTER("mysql_create_db");
VOID(pthread_mutex_lock(&LOCK_mysql_create_db));
@@ -184,7 +185,8 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
/* Check directory */
strxmov(path, mysql_data_home, "/", db, NullS);
- unpack_dirname(path,path); // Convert if not unix
+ path_len= unpack_dirname(path,path); // Convert if not unix
+ path[path_len-1]= 0; // Remove last '/' from path
if (my_stat(path,&stat_info,MYF(0)))
{
@@ -203,7 +205,6 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
my_error(EE_STAT, MYF(0),path,my_errno);
goto exit;
}
- strend(path)[-1]=0; // Remove last '/' from path
if (my_mkdir(path,0777,MYF(0)) < 0)
{
my_error(ER_CANT_CREATE_DB,MYF(0),db,my_errno);