mirror of
https://github.com/MariaDB/server.git
synced 2025-07-27 18:02:13 +03:00
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:
committed by
Sergei Golubchik
parent
ec68f764f6
commit
f06ab0fc99
@ -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 */
|
||||
|
Reference in New Issue
Block a user