mirror of
https://github.com/MariaDB/server.git
synced 2026-05-07 07:35:32 +02:00
Fix for BUG#2333 "ALTER DATABASE on inexistent database hangs the client":
mysql_alter_db() now returns -1 in case of error, so that mysql_execute_command() calls send_error(). sql/sql_db.cc: In case of error, return -1 so that mysql_execute_command() understands that it must send_error(). The double (( at the left of 'error' in the 'if' are to avoid a compiler warning.
This commit is contained in:
parent
24f8054460
commit
e90eb6f43e
1 changed files with 2 additions and 5 deletions
|
|
@ -270,11 +270,8 @@ int mysql_alter_db(THD *thd, const char *db, HA_CREATE_INFO *create_info)
|
|||
VOID(pthread_mutex_lock(&LOCK_mysql_create_db));
|
||||
|
||||
// do not alter database if another thread is holding read lock
|
||||
if (wait_if_global_read_lock(thd,0))
|
||||
{
|
||||
error= -1;
|
||||
if ((error=wait_if_global_read_lock(thd,0)))
|
||||
goto exit2;
|
||||
}
|
||||
|
||||
/* Check directory */
|
||||
(void)sprintf(path,"%s/%s/%s", mysql_data_home, db, MY_DB_OPT_FILE);
|
||||
|
|
@ -307,7 +304,7 @@ exit:
|
|||
start_waiting_global_read_lock(thd);
|
||||
exit2:
|
||||
VOID(pthread_mutex_unlock(&LOCK_mysql_create_db));
|
||||
DBUG_RETURN(error);
|
||||
DBUG_RETURN(error ? -1 : 0); /* -1 to delegate send_error() */
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue