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)
|
||||
SetConsoleCtrlHandler(console_event_handler,TRUE);
|
||||
@ -3231,7 +3231,7 @@ static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize)
|
||||
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
|
||||
static void init_signals(void)
|
||||
void init_signals(void)
|
||||
{
|
||||
sigset_t set;
|
||||
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
|
||||
not be null in any child thread.
|
||||
First, we initialize only MyISAM - that should almost always succeed
|
||||
(almost always, because plugins can be loaded outside of the server, too).
|
||||
*/
|
||||
global_system_variables.table_plugin=
|
||||
intern_plugin_lock(NULL, plugin_int_to_ref(plugin_ptr));
|
||||
DBUG_ASSERT(plugin_ptr->ref_count == 1);
|
||||
plugin_ptr= plugin_find_internal(&MyISAM, MYSQL_STORAGE_ENGINE_PLUGIN);
|
||||
DBUG_ASSERT(plugin_ptr || !mysql_mandatory_plugins[0]);
|
||||
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);
|
||||
|
||||
/* Register (not initialize!) all dynamic plugins */
|
||||
|
Loading…
x
Reference in New Issue
Block a user