1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Ensure that we free memory used with --order-by-primary (in mysqldump)

Simple, non critical, fix to mysql_fix_privilege_tables
This commit is contained in:
monty@mysql.com
2004-12-09 12:47:20 +02:00
parent 4753641048
commit 01e4740f4c
6 changed files with 44 additions and 31 deletions

View File

@ -390,7 +390,7 @@ int mysql_create_db(THD *thd, char *db, HA_CREATE_INFO *create_info,
VOID(pthread_mutex_lock(&LOCK_mysql_create_db));
// do not create database if another thread is holding read lock
/* do not create database if another thread is holding read lock */
if (wait_if_global_read_lock(thd, 0, 1))
{
error= -1;
@ -514,7 +514,7 @@ 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
/* do not alter database if another thread is holding read lock */
if ((error=wait_if_global_read_lock(thd,0,1)))
goto exit2;
@ -542,9 +542,11 @@ int mysql_alter_db(THD *thd, const char *db, HA_CREATE_INFO *create_info)
Query_log_event qinfo(thd, thd->query, thd->query_length, 0,
/* suppress_use */ TRUE);
// Write should use the database being created as the "current
// database" and not the threads current database, which is the
// default.
/*
Write should use the database being created as the "current
database" and not the threads current database, which is the
default.
*/
qinfo.db = db;
qinfo.db_len = strlen(db);
@ -577,7 +579,6 @@ exit2:
-1 Error generated
*/
int mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent)
{
long deleted=0;
@ -589,7 +590,7 @@ int mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent)
VOID(pthread_mutex_lock(&LOCK_mysql_create_db));
// do not drop database if another thread is holding read lock
/* do not drop database if another thread is holding read lock */
if (wait_if_global_read_lock(thd, 0, 1))
{
error= -1;
@ -657,10 +658,11 @@ int mysql_rm_db(THD *thd,char *db,bool if_exists, bool silent)
{
Query_log_event qinfo(thd, query, query_length, 0,
/* suppress_use */ TRUE);
// Write should use the database being created as the "current
// database" and not the threads current database, which is the
// default.
/*
Write should use the database being created as the "current
database" and not the threads current database, which is the
default.
*/
qinfo.db = db;
qinfo.db_len = strlen(db);
@ -774,7 +776,7 @@ static long mysql_rm_known_files(THD *thd, MY_DIR *dirp, const char *db,
found_other_files++;
continue;
}
// just for safety we use files_charset_info
/* just for safety we use files_charset_info */
if (db && !my_strcasecmp(files_charset_info,
extension, reg_ext))
{
@ -909,7 +911,7 @@ bool mysql_change_db(THD *thd, const char *name)
if (!dbname || !(db_length= strlen(dbname)))
{
x_free(dbname); /* purecov: inspected */
send_error(thd,ER_NO_DB_ERROR); /* purecov: inspected */
send_error(thd,ER_NO_DB_ERROR); /* purecov: inspected */
DBUG_RETURN(1); /* purecov: inspected */
}
if (check_db_name(dbname))