summaryrefslogtreecommitdiff
path: root/sql/set_var.h
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-04-09 23:27:19 +0200
committerSergei Golubchik <sergii@pisem.net>2013-04-09 23:27:19 +0200
commit7d3288129f6e5b52c7377ff68295f51606c7f002 (patch)
tree9f844bb427f6f945e97d54d3e4fb9f44bd181186 /sql/set_var.h
parenteda4c51241b647094b727643e1aad4153c45d647 (diff)
downloadmariadb-git-7d3288129f6e5b52c7377ff68295f51606c7f002.tar.gz
create sys_var::val_str(), sys_var::val_int(), sys_var::val_real().
Change Item_func_get_system_var::val_xxx functions to use that. mysql-test/t/variables.test: @@GLOBAL.INIT_CONNECT is never NULL anymore. Nor it ever was. It was a bug that empty string system variables appeared as NULL in the *integer context* (but not in a string, real, or decimal context!)
Diffstat (limited to 'sql/set_var.h')
-rw-r--r--sql/set_var.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sql/set_var.h b/sql/set_var.h
index f912c9fffad..6cb0cd33f87 100644
--- a/sql/set_var.h
+++ b/sql/set_var.h
@@ -108,6 +108,10 @@ public:
bool set_default(THD *thd, enum_var_type type);
bool update(THD *thd, set_var *var);
+ longlong val_int(bool *is_null, THD *thd, enum_var_type type, LEX_STRING *base);
+ String *val_str(String *str, THD *thd, enum_var_type type, LEX_STRING *base);
+ double val_real(bool *is_null, THD *thd, enum_var_type type, LEX_STRING *base);
+
SHOW_TYPE show_type() { return show_val_type; }
int scope() const { return flags & SCOPE_MASK; }
CHARSET_INFO *charset(THD *thd);