summaryrefslogtreecommitdiff
path: root/sql/set_var.h
diff options
context:
space:
mode:
authorunknown <sanja@askmonty.org>2011-05-18 16:27:19 +0300
committerunknown <sanja@askmonty.org>2011-05-18 16:27:19 +0300
commit1177bea2f1cd0c9f887670b65c9a403a26f07d76 (patch)
tree86c61cd5b446c4e6a3fc89470b3e35e806d99924 /sql/set_var.h
parent0da2df248ba5915630d04e7b7335bea409670cd6 (diff)
downloadmariadb-git-1177bea2f1cd0c9f887670b65c9a403a26f07d76.tar.gz
Rewritten patch of percona - switching query cache on and off, removing comments.
client/mysqltest.cc: Column names. mysql-test/r/grant_cache_no_prot.result: fix of text. mysql-test/r/grant_cache_ps_prot.result: Fix of test. mysql-test/r/query_cache.result: Switching on and off query cache. mysql-test/t/query_cache.test: Switching on and off query cache. mysys/charset.c: Fix of parser. sql/handler.cc: thd added to parameters. sql/log_event.cc: thd added to parameters. sql/log_event_old.cc: thd added to parameters. sql/mysql_priv.h: Fixed functions definitions. sql/mysqld.cc: Comments stripping. sql/set_var.cc: Switching on and off query cache. sql/set_var.h: Switching on and off query cache. sql/share/errmsg.txt: New errors. sql/sql_cache.cc: Switching query cache on and off, removing comments. sql/sql_cache.h: thd added to parameters. sql/sql_class.h: Comments stripping. sql/sql_db.cc: thd added to parameters. sql/sql_lex.cc: lex fixed. sql/sql_parse.cc: thd added to parameters.
Diffstat (limited to 'sql/set_var.h')
-rw-r--r--sql/set_var.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/sql/set_var.h b/sql/set_var.h
index 95885357b83..d2bb1e94d33 100644
--- a/sql/set_var.h
+++ b/sql/set_var.h
@@ -516,10 +516,15 @@ public:
{ chain_sys_var(chain); }
bool check(THD *thd, set_var *var)
{
- int ret= 0;
- if (check_func)
- ret= (*check_func)(thd, var);
- return ret ? ret : check_enum(thd, var, enum_names);
+ /*
+ check_enum fails if the character representation supplied was wrong
+ or that the integer value was wrong or missing.
+ */
+ if (check_enum(thd, var, enum_names))
+ return TRUE;
+ if ((check_func && (*check_func)(thd, var)))
+ return TRUE;
+ return FALSE;
}
bool update(THD *thd, set_var *var);
void set_default(THD *thd, enum_var_type type);