Commit 2919ca4e authored by Ashish Agarwal's avatar Ashish Agarwal

BUG#14485479: Merge into mysql-5.5 branch

parents 5598603a 154860ea
disable_query_log;
#
# Check if server has support for loading plugins
#
if (`SELECT @@have_dynamic_loading != 'YES'`) {
--skip Null audit plugin requires dynamic loading
}
#
# Check if the variable AUDIT_NULL is set
#
if (!$AUDIT_NULL) {
--skip Audit_null plugin requires the environment variable \$AUDIT_NULL to be set (normally done by mtr)
}
#
# Check if --plugin-dir was setup for null_audit db
#
if (`SELECT CONCAT('--plugin-dir=', REPLACE(@@plugin_dir, '\\\\', '/')) != '$AUDIT_NULL_OPT/'`) {
--skip null audit plugin requires that --plugin-dir is set to the null audit plugin dir (either the .opt file does not contain \$AUDIT_NULL_OPT or another plugin is in use)
}
enable_query_log;
...@@ -40,3 +40,4 @@ ha_blackhole storage/blackhole BLACKHOLE_PLUGIN ...@@ -40,3 +40,4 @@ ha_blackhole storage/blackhole BLACKHOLE_PLUGIN
ha_federated storage/federated FEDERATED_PLUGIN ha_federated storage/federated FEDERATED_PLUGIN
mypluglib plugin/fulltext SIMPLE_PARSER mypluglib plugin/fulltext SIMPLE_PARSER
libdaemon_example plugin/daemon_example DAEMONEXAMPLE libdaemon_example plugin/daemon_example DAEMONEXAMPLE
adt_null plugin/audit_null AUDIT_NULL
...@@ -1820,6 +1820,7 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl ...@@ -1820,6 +1820,7 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl
{ {
if (plugin_initialize(tmp)) if (plugin_initialize(tmp))
{ {
mysql_mutex_unlock(&LOCK_plugin);
my_error(ER_CANT_INITIALIZE_UDF, MYF(0), name->str, my_error(ER_CANT_INITIALIZE_UDF, MYF(0), name->str,
"Plugin initialization function failed."); "Plugin initialization function failed.");
goto deinit; goto deinit;
...@@ -1831,6 +1832,7 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl ...@@ -1831,6 +1832,7 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl
of the insert into the plugin table, so that it is not replicated in of the insert into the plugin table, so that it is not replicated in
row based mode. row based mode.
*/ */
mysql_mutex_unlock(&LOCK_plugin);
tmp_disable_binlog(thd); tmp_disable_binlog(thd);
table->use_all_columns(); table->use_all_columns();
restore_record(table, s->default_values); restore_record(table, s->default_values);
...@@ -1843,10 +1845,9 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl ...@@ -1843,10 +1845,9 @@ bool mysql_install_plugin(THD *thd, const LEX_STRING *name, const LEX_STRING *dl
table->file->print_error(error, MYF(0)); table->file->print_error(error, MYF(0));
goto deinit; goto deinit;
} }
mysql_mutex_unlock(&LOCK_plugin);
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
deinit: deinit:
mysql_mutex_lock(&LOCK_plugin);
tmp->state= PLUGIN_IS_DELETED; tmp->state= PLUGIN_IS_DELETED;
reap_needed= true; reap_needed= true;
reap_plugins(); reap_plugins();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment