summaryrefslogtreecommitdiff
path: root/sql/sql_plugin.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2021-10-09 11:07:47 +0200
committerSergei Golubchik <serg@mariadb.org>2021-10-27 15:55:14 +0200
commita010959a5673203b0c3c91f0764b19c2ba8c45c8 (patch)
tree4f8fc207046ac0c3b0a54cd4ffef6a9cbcab1e5c /sql/sql_plugin.cc
parent867f05ded3634650f441e174becba23709913a95 (diff)
downloadmariadb-git-a010959a5673203b0c3c91f0764b19c2ba8c45c8.tar.gz
MDEV-26774 Compression provider unloading at runtime has no effect but doesn't produce a warning
Diffstat (limited to 'sql/sql_plugin.cc')
-rw-r--r--sql/sql_plugin.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc
index d493c69e38a..e3ddd14fe6a 100644
--- a/sql/sql_plugin.cc
+++ b/sql/sql_plugin.cc
@@ -1267,7 +1267,13 @@ static void plugin_deinitialize(struct st_plugin_int *plugin, bool ref_check)
if (!deinit)
deinit= (plugin_type_init)(plugin->plugin->deinit);
- if (!deinit || !deinit(plugin))
+ if (deinit && deinit(plugin))
+ {
+ if (THD *thd= current_thd)
+ push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
+ WARN_PLUGIN_BUSY, ER_THD(thd, WARN_PLUGIN_BUSY));
+ }
+ else
plugin->state= PLUGIN_IS_UNINITIALIZED; // free to unload
if (ref_check && plugin->ref_count)