summaryrefslogtreecommitdiff
path: root/sql/sql_plugin.cc
diff options
context:
space:
mode:
Diffstat (limited to 'sql/sql_plugin.cc')
-rw-r--r--sql/sql_plugin.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index b2dd38ad720..ea9748c8cb2 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -3087,15 +3087,19 @@ void plugin_thdvar_init(THD *thd)
thd->variables.dynamic_variables_size= 0;
thd->variables.dynamic_variables_ptr= 0;
- mysql_mutex_lock(&LOCK_plugin);
- thd->variables.table_plugin=
+ if (IF_WSREP((!WSREP(thd) || !thd->wsrep_applier),1))
+ {
+ mysql_mutex_lock(&LOCK_plugin);
+ thd->variables.table_plugin=
intern_plugin_lock(NULL, global_system_variables.table_plugin);
- if (global_system_variables.tmp_table_plugin)
- thd->variables.tmp_table_plugin=
+ if (global_system_variables.tmp_table_plugin)
+ thd->variables.tmp_table_plugin=
intern_plugin_lock(NULL, global_system_variables.tmp_table_plugin);
- intern_plugin_unlock(NULL, old_table_plugin);
- intern_plugin_unlock(NULL, old_tmp_table_plugin);
- mysql_mutex_unlock(&LOCK_plugin);
+ intern_plugin_unlock(NULL, old_table_plugin);
+ intern_plugin_unlock(NULL, old_tmp_table_plugin);
+ mysql_mutex_unlock(&LOCK_plugin);
+ }
+
DBUG_VOID_RETURN;
}