BUG#14485479: Merge into mysql-5.5 branch

This commit is contained in:
Ashish Agarwal 2012-10-31 12:45:57 +05:30
commit 23dc49cd3b
3 changed files with 26 additions and 2 deletions

View File

@ -0,0 +1,22 @@
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;

View File

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

View File

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