summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorVesa Pentti <vesa.pentti@mariadb.net>2017-11-24 21:56:13 +0000
committerVesa Pentti <vesa.pentti@mariadb.net>2017-12-02 17:39:19 +0000
commit492afe36b2ff9e105a04ba4537ca345467bbd0ca (patch)
treefa4f6194a1964db5891b50037a4098a3731bee2f /sql
parent666070852384c2f5c40685a1ae0702e7d8cee85e (diff)
downloadmariadb-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.cc9
-rw-r--r--sql/sys_vars.cc4
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",