diff options
author | Vesa Pentti <vesa.pentti@mariadb.net> | 2017-11-24 21:56:13 +0000 |
---|---|---|
committer | Vesa Pentti <vesa.pentti@mariadb.net> | 2017-12-02 17:39:19 +0000 |
commit | 492afe36b2ff9e105a04ba4537ca345467bbd0ca (patch) | |
tree | fa4f6194a1964db5891b50037a4098a3731bee2f /sql | |
parent | 666070852384c2f5c40685a1ae0702e7d8cee85e (diff) | |
download | mariadb-git-pentve_temp2.tar.gz |
MDEV-12501 -- set --maturity-level by defaultpentve_temp2
* Note: breaking change; since this commit, a plugin that has
worked so far might get rejected due to plugin maturity
* VERSION file defines SERVER_MATURITY, which defines the
corresponding numeric value as SERVER_MATURITY_LEVEL in
include/mysql_version.h
* The default value for 'plugin_maturity' is SERVER_MATURITY_LEVEL - 1
* Logs a warning if a plugin has maturity lower than
SERVER_MATURITY_LEVEL
* Tests suppress the plugin maturity warning
* Tests use --plugin-maturity=unknown by default so as not to fail
due to the stricter plugin maturity handling
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_plugin.cc | 9 | ||||
-rw-r--r-- | sql/sys_vars.cc | 4 |
2 files changed, 12 insertions, 1 deletions
diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index 9478db8e6d5..462829a255b 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -1155,6 +1155,7 @@ static bool plugin_add(MEM_ROOT *tmp_root, report_error(report, ER_CANT_OPEN_LIBRARY, dl->str, ENOEXEC, buf); goto err; } + if (plugin_maturity_map[plugin->maturity] < plugin_maturity) { char buf[256]; @@ -1167,6 +1168,14 @@ static bool plugin_add(MEM_ROOT *tmp_root, report_error(report, ER_CANT_OPEN_LIBRARY, dl->str, EPERM, buf); goto err; } + else if (plugin_maturity_map[plugin->maturity] < SERVER_MATURITY_LEVEL) + { + sql_print_warning("Plugin '%s' is of maturity level %s while the server is %s", + tmp.name.str, + plugin_maturity_names[plugin->maturity], + plugin_maturity_names[SERVER_MATURITY_LEVEL]); + } + tmp.plugin= plugin; tmp.ref_count= 0; tmp.state= PLUGIN_IS_UNINITIALIZED; diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index b808412f9b1..14d0a0b36a7 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -5365,7 +5365,9 @@ static Sys_var_enum Sys_plugin_maturity( "The lowest desirable plugin maturity. " "Plugins less mature than that will not be installed or loaded", READ_ONLY GLOBAL_VAR(plugin_maturity), CMD_LINE(REQUIRED_ARG), - plugin_maturity_names, DEFAULT(MariaDB_PLUGIN_MATURITY_UNKNOWN)); + plugin_maturity_names, + DEFAULT(SERVER_MATURITY_LEVEL > 0 ? + SERVER_MATURITY_LEVEL - 1 : SERVER_MATURITY_LEVEL)); static Sys_var_ulong Sys_deadlock_search_depth_short( "deadlock_search_depth_short", |