MDEV-9566 Server code changes in preparation for mariabackup
- Backup will load encryption plugins outside of mysqld. Thus, do not force loading MyISAM plugin in plugin_load. - init_signals() will be used in backup, make it global, not static.
This commit is contained in:
parent
ec68f764f6
commit
f06ab0fc99
@ -3100,7 +3100,7 @@ LONG WINAPI my_unhandler_exception_filter(EXCEPTION_POINTERS *ex_pointers)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void init_signals(void)
|
void init_signals(void)
|
||||||
{
|
{
|
||||||
if(opt_console)
|
if(opt_console)
|
||||||
SetConsoleCtrlHandler(console_event_handler,TRUE);
|
SetConsoleCtrlHandler(console_event_handler,TRUE);
|
||||||
@ -3231,7 +3231,7 @@ static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize)
|
|||||||
|
|
||||||
#ifndef EMBEDDED_LIBRARY
|
#ifndef EMBEDDED_LIBRARY
|
||||||
|
|
||||||
static void init_signals(void)
|
void init_signals(void)
|
||||||
{
|
{
|
||||||
sigset_t set;
|
sigset_t set;
|
||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
|
@ -1606,22 +1606,28 @@ int plugin_init(int *argc, char **argv, int flags)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* First, we initialize only MyISAM - that should always succeed */
|
|
||||||
plugin_ptr= plugin_find_internal(&MyISAM, MYSQL_STORAGE_ENGINE_PLUGIN);
|
|
||||||
DBUG_ASSERT(plugin_ptr);
|
|
||||||
DBUG_ASSERT(plugin_ptr->load_option == PLUGIN_FORCE);
|
|
||||||
|
|
||||||
if (plugin_initialize(&tmp_root, plugin_ptr, argc, argv, false))
|
|
||||||
goto err_unlock;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
set the global default storage engine variable so that it will
|
First, we initialize only MyISAM - that should almost always succeed
|
||||||
not be null in any child thread.
|
(almost always, because plugins can be loaded outside of the server, too).
|
||||||
*/
|
*/
|
||||||
global_system_variables.table_plugin=
|
plugin_ptr= plugin_find_internal(&MyISAM, MYSQL_STORAGE_ENGINE_PLUGIN);
|
||||||
intern_plugin_lock(NULL, plugin_int_to_ref(plugin_ptr));
|
DBUG_ASSERT(plugin_ptr || !mysql_mandatory_plugins[0]);
|
||||||
DBUG_ASSERT(plugin_ptr->ref_count == 1);
|
if (plugin_ptr)
|
||||||
|
{
|
||||||
|
DBUG_ASSERT(plugin_ptr->load_option == PLUGIN_FORCE);
|
||||||
|
|
||||||
|
if (plugin_initialize(&tmp_root, plugin_ptr, argc, argv, false))
|
||||||
|
goto err_unlock;
|
||||||
|
|
||||||
|
/*
|
||||||
|
set the global default storage engine variable so that it will
|
||||||
|
not be null in any child thread.
|
||||||
|
*/
|
||||||
|
global_system_variables.table_plugin =
|
||||||
|
intern_plugin_lock(NULL, plugin_int_to_ref(plugin_ptr));
|
||||||
|
DBUG_ASSERT(plugin_ptr->ref_count == 1);
|
||||||
|
|
||||||
|
}
|
||||||
mysql_mutex_unlock(&LOCK_plugin);
|
mysql_mutex_unlock(&LOCK_plugin);
|
||||||
|
|
||||||
/* Register (not initialize!) all dynamic plugins */
|
/* Register (not initialize!) all dynamic plugins */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user