diff options
author | Kristian Nielsen <knielsen@knielsen-hq.org> | 2017-04-20 16:19:01 +0200 |
---|---|---|
committer | Kristian Nielsen <knielsen@knielsen-hq.org> | 2017-04-21 10:30:17 +0200 |
commit | 8953c7e48426671f8fb3a68cae22eb7a00cfee61 (patch) | |
tree | 484da6ca719b02bbf8d5fd6f199a7b85e84e297a /sql/sys_vars.cc | |
parent | 00eebb22435c871bbe9938582d96e6a3d1c00861 (diff) | |
download | mariadb-git-8953c7e48426671f8fb3a68cae22eb7a00cfee61.tar.gz |
MDEV-12179: Per-engine mysql.gtid_slave_pos table
Intermediate commit.
Fix engine list lifetime for sys_var_pluginlist.
The Sys_var class assumes that some operations can be done without
explicitly freeing resources, for example default_value_ptr(). Thus,
methods (like Sys_var_pluginlist::do_check) need to generally work
with temporary lists, which are registered in the THD to be
freed/unlocked automatically. And do_update() needs to make a
permanent copy to store in the global variable.
Diffstat (limited to 'sql/sys_vars.cc')
-rw-r--r-- | sql/sys_vars.cc | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 8f0a081acc7..84b88f84bbf 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -3541,11 +3541,6 @@ check_gtid_pos_auto_engines(sys_var *self, THD *thd, set_var *var) if (running) err= true; } - if (err && var->save_result.plugins) - { - free_engine_list(var->save_result.plugins); - var->save_result.plugins= NULL; - } return err; } |