diff options
Diffstat (limited to 'sql/set_var.cc')
-rw-r--r-- | sql/set_var.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc index 8e2f90b9bfd..ceb1adb81de 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -1,5 +1,5 @@ /* Copyright (c) 2002, 2011, Oracle and/or its affiliates. - Copyright (c) 2008-2011 Monty Program Ab + Copyright (c) 2008, 2012, Monty Program Ab This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -14,10 +14,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifdef USE_PRAGMA_IMPLEMENTATION -#pragma implementation -#endif - /* variable declarations are in sys_vars.cc now !!! */ #include "my_global.h" /* NO_EMBEDDED_ACCESS_CHECKS */ @@ -493,6 +489,10 @@ SHOW_VAR* enumerate_sys_vars(THD *thd, bool sorted, enum enum_var_type type) if (type == OPT_GLOBAL && var->check_type(type)) continue; + /* don't show non-visible variables */ + if (var->not_visible()) + continue; + show->name= var->name.str; show->value= (char*) var; show->type= SHOW_SYS; @@ -533,6 +533,11 @@ sys_var *intern_find_sys_var(const char *str, uint length) */ var= (sys_var*) my_hash_search(&system_variable_hash, (uchar*) str, length ? length : strlen(str)); + + /* Don't show non-visible variables. */ + if (var && var->not_visible()) + return NULL; + return var; } |