Browse Source

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.
pull/333/merge
Vladislav Vaintroub 9 years ago
committed by Sergei Golubchik
parent
commit
f06ab0fc99
  1. 4
      sql/mysqld.cc
  2. 30
      sql/sql_plugin.cc

4
sql/mysqld.cc

@ -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;

30
sql/sql_plugin.cc

@ -1606,22 +1606,28 @@ int plugin_init(int *argc, char **argv, int flags)
}
}
/* First, we initialize only MyISAM - that should always succeed */
/*
First, we initialize only MyISAM - that should almost always succeed
(almost always, because plugins can be loaded outside of the server, too).
*/
plugin_ptr= plugin_find_internal(&MyISAM, MYSQL_STORAGE_ENGINE_PLUGIN);
DBUG_ASSERT(plugin_ptr);
DBUG_ASSERT(plugin_ptr->load_option == PLUGIN_FORCE);
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;
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);
/*
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…
Cancel
Save