cleanup: move common test into a function

This commit is contained in:
Sergei Golubchik 2017-06-14 11:27:36 +02:00
parent b850fc66ca
commit 70b94c35d7

View File

@ -316,6 +316,12 @@ static plugin_ref intern_plugin_lock(LEX *lex, plugin_ref plugin);
static void intern_plugin_unlock(LEX *lex, plugin_ref plugin); static void intern_plugin_unlock(LEX *lex, plugin_ref plugin);
static void reap_plugins(void); 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, ...) static void report_error(int where_to, uint error, ...)
{ {
va_list args; va_list args;
@ -1657,8 +1663,7 @@ int plugin_init(int *argc, char **argv, int flags)
while ((plugin_ptr= *(--reap))) while ((plugin_ptr= *(--reap)))
{ {
mysql_mutex_unlock(&LOCK_plugin); mysql_mutex_unlock(&LOCK_plugin);
if (plugin_ptr->load_option == PLUGIN_FORCE || if (plugin_is_forced(plugin_ptr))
plugin_ptr->load_option == PLUGIN_FORCE_PLUS_PERMANENT)
reaped_mandatory_plugin= TRUE; reaped_mandatory_plugin= TRUE;
plugin_deinitialize(plugin_ptr, true); plugin_deinitialize(plugin_ptr, true);
mysql_mutex_lock(&LOCK_plugin); mysql_mutex_lock(&LOCK_plugin);
@ -3505,8 +3510,7 @@ static int construct_options(MEM_ROOT *mem_root, struct st_plugin_int *tmp,
plugin_dash.length + 1); plugin_dash.length + 1);
strxmov(plugin_name_with_prefix_ptr, plugin_dash.str, plugin_name_ptr, NullS); strxmov(plugin_name_with_prefix_ptr, plugin_dash.str, plugin_name_ptr, NullS);
if (tmp->load_option != PLUGIN_FORCE && if (!plugin_is_forced(tmp))
tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
{ {
/* support --skip-plugin-foo syntax */ /* support --skip-plugin-foo syntax */
options[0].name= plugin_name_ptr; options[0].name= plugin_name_ptr;
@ -3823,8 +3827,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 adjust the default value to account for the hardcoded exceptions
we have set for the federated and ndbcluster storage engines. we have set for the federated and ndbcluster storage engines.
*/ */
if (tmp->load_option != PLUGIN_FORCE && if (!plugin_is_forced(tmp))
tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
opts[0].def_value= opts[1].def_value= plugin_load_option; opts[0].def_value= opts[1].def_value= plugin_load_option;
error= handle_options(argc, &argv, opts, NULL); error= handle_options(argc, &argv, opts, NULL);
@ -3840,8 +3843,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 Set plugin loading policy from option value. First element in the option
list is always the <plugin name> option value. list is always the <plugin name> option value.
*/ */
if (tmp->load_option != PLUGIN_FORCE && if (!plugin_is_forced(tmp))
tmp->load_option != PLUGIN_FORCE_PLUS_PERMANENT)
plugin_load_option= (enum_plugin_load_option) *(ulong*) opts[0].value; plugin_load_option= (enum_plugin_load_option) *(ulong*) opts[0].value;
} }