mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge tag 'mariadb-10.0.32' into 10.0-galera
This commit is contained in:
@ -306,6 +306,12 @@ static plugin_ref intern_plugin_lock(LEX *lex, plugin_ref plugin);
|
||||
static void intern_plugin_unlock(LEX *lex, plugin_ref plugin);
|
||||
static void reap_plugins(void);
|
||||
|
||||
bool plugin_is_forced(struct st_plugin_int *p)
|
||||
{
|
||||
return p->load_option == PLUGIN_FORCE ||
|
||||
p->load_option == PLUGIN_FORCE_PLUS_PERMANENT;
|
||||
}
|
||||
|
||||
static void report_error(int where_to, uint error, ...)
|
||||
{
|
||||
va_list args;
|
||||
@ -1360,7 +1366,7 @@ static int plugin_initialize(MEM_ROOT *tmp_root, struct st_plugin_int *plugin,
|
||||
|
||||
if (options_only || state == PLUGIN_IS_DISABLED)
|
||||
{
|
||||
ret= 0;
|
||||
ret= !options_only && plugin_is_forced(plugin);
|
||||
goto err;
|
||||
}
|
||||
|
||||
@ -1671,8 +1677,7 @@ int plugin_init(int *argc, char **argv, int flags)
|
||||
while ((plugin_ptr= *(--reap)))
|
||||
{
|
||||
mysql_mutex_unlock(&LOCK_plugin);
|
||||
if (plugin_ptr->load_option == PLUGIN_FORCE ||
|
||||
plugin_ptr->load_option == PLUGIN_FORCE_PLUS_PERMANENT)
|
||||
if (plugin_is_forced(plugin_ptr))
|
||||
reaped_mandatory_plugin= TRUE;
|
||||
plugin_deinitialize(plugin_ptr, true);
|
||||
mysql_mutex_lock(&LOCK_plugin);
|
||||
@ -3542,8 +3547,7 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
|
||||
plugin_dash.length + 1);
|
||||
strxmov(plugin_name_with_prefix_ptr, plugin_dash.str, plugin_name_ptr, NullS);
|
||||
|
||||
if (tmp->load_option != PLUGIN_FORCE &&
|
||||
tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
|
||||
if (!plugin_is_forced(tmp))
|
||||
{
|
||||
/* support --skip-plugin-foo syntax */
|
||||
options[0].name= plugin_name_ptr;
|
||||
@ -3861,8 +3865,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
|
||||
We adjust the default value to account for the hardcoded exceptions
|
||||
we have set for the federated and ndbcluster storage engines.
|
||||
*/
|
||||
if (tmp->load_option != PLUGIN_FORCE &&
|
||||
tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
|
||||
if (!plugin_is_forced(tmp))
|
||||
opts[0].def_value= opts[1].def_value= plugin_load_option;
|
||||
|
||||
error= handle_options(argc, &argv, opts, NULL);
|
||||
@ -3878,8 +3881,7 @@ static int test_plugin_options(MEM_ROOT *tmp_root, struct st_plugin_int *tmp,
|
||||
Set plugin loading policy from option value. First element in the option
|
||||
list is always the <plugin name> option value.
|
||||
*/
|
||||
if (tmp->load_option != PLUGIN_FORCE &&
|
||||
tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
|
||||
if (!plugin_is_forced(tmp))
|
||||
plugin_load_option= (enum_plugin_load_option) *(ulong*) opts[0].value;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user