Close the DDL log from 2 places => put into separate method

Needed to close ddl log in recovery before deleting it
parent 6c07d55a
...@@ -1132,6 +1132,26 @@ bool execute_ddl_log_entry(THD *thd, uint first_entry) ...@@ -1132,6 +1132,26 @@ bool execute_ddl_log_entry(THD *thd, uint first_entry)
} }
/*
Close the ddl log
SYNOPSIS
close_ddl_log()
RETURN VALUES
NONE
*/
static void close_ddl_log()
{
DBUG_ENTER("close_ddl_log");
if (global_ddl_log.file_id >= 0)
{
VOID(my_close(global_ddl_log.file_id, MYF(MY_WME)));
global_ddl_log.file_id= (File) -1;
}
DBUG_VOID_RETURN;
}
/* /*
Execute the ddl log at recovery of MySQL Server Execute the ddl log at recovery of MySQL Server
SYNOPSIS SYNOPSIS
...@@ -1183,6 +1203,7 @@ void execute_ddl_log_recovery() ...@@ -1183,6 +1203,7 @@ void execute_ddl_log_recovery()
} }
} }
} }
close_ddl_log();
create_ddl_log_file_name(file_name); create_ddl_log_file_name(file_name);
VOID(my_delete(file_name, MYF(0))); VOID(my_delete(file_name, MYF(0)));
global_ddl_log.recovery_phase= FALSE; global_ddl_log.recovery_phase= FALSE;
...@@ -1220,11 +1241,7 @@ void release_ddl_log() ...@@ -1220,11 +1241,7 @@ void release_ddl_log()
my_free((char*)free_list, MYF(0)); my_free((char*)free_list, MYF(0));
free_list= tmp; free_list= tmp;
} }
if (global_ddl_log.file_id >= 0) close_ddl_log();
{
VOID(my_close(global_ddl_log.file_id, MYF(MY_WME)));
global_ddl_log.file_id= (File) -1;
}
global_ddl_log.inited= 0; global_ddl_log.inited= 0;
pthread_mutex_unlock(&LOCK_gdl); pthread_mutex_unlock(&LOCK_gdl);
VOID(pthread_mutex_destroy(&LOCK_gdl)); VOID(pthread_mutex_destroy(&LOCK_gdl));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment