mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
This commit is contained in:
@ -376,11 +376,12 @@ int ha_finalize_handlerton(st_plugin_int *plugin)
|
||||
case SHOW_OPTION_YES:
|
||||
if (installed_htons[hton->db_type] == hton)
|
||||
installed_htons[hton->db_type]= NULL;
|
||||
if (hton->panic && hton->panic(hton, HA_PANIC_CLOSE))
|
||||
DBUG_RETURN(1);
|
||||
break;
|
||||
};
|
||||
|
||||
if (hton->panic)
|
||||
hton->panic(hton, HA_PANIC_CLOSE);
|
||||
|
||||
if (plugin->plugin->deinit)
|
||||
{
|
||||
/*
|
||||
@ -509,32 +510,23 @@ int ha_init()
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
|
||||
/*
|
||||
close, flush or restart databases
|
||||
Ignore this for other databases than ours
|
||||
*/
|
||||
|
||||
static my_bool panic_handlerton(THD *unused1, st_plugin_int *plugin, void *arg)
|
||||
int ha_end()
|
||||
{
|
||||
handlerton *hton= (handlerton *)plugin->data;
|
||||
if (hton->state == SHOW_OPTION_YES && hton->panic)
|
||||
((int*)arg)[0]|= hton->panic(hton, (enum ha_panic_function)((int*)arg)[1]);
|
||||
return FALSE;
|
||||
int error= 0;
|
||||
DBUG_ENTER("ha_end");
|
||||
|
||||
|
||||
/*
|
||||
This should be eventualy based on the graceful shutdown flag.
|
||||
So if flag is equal to HA_PANIC_CLOSE, the deallocate
|
||||
the errors.
|
||||
*/
|
||||
if (ha_finish_errors())
|
||||
error= 1;
|
||||
|
||||
DBUG_RETURN(error);
|
||||
}
|
||||
|
||||
|
||||
int ha_panic(enum ha_panic_function flag)
|
||||
{
|
||||
int error[2];
|
||||
|
||||
error[0]= 0; error[1]= (int)flag;
|
||||
plugin_foreach(NULL, panic_handlerton, MYSQL_STORAGE_ENGINE_PLUGIN, error);
|
||||
|
||||
if (flag == HA_PANIC_CLOSE && ha_finish_errors())
|
||||
error[0]= 1;
|
||||
return error[0];
|
||||
} /* ha_panic */
|
||||
|
||||
static my_bool dropdb_handlerton(THD *unused1, st_plugin_int *plugin,
|
||||
void *path)
|
||||
{
|
||||
|
Reference in New Issue
Block a user