summaryrefslogtreecommitdiff
path: root/sql/set_var.h
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2014-09-03 15:16:43 +0200
committerSergei Golubchik <serg@mariadb.org>2014-10-11 10:23:21 +0200
commit2a4e8813f6820ca0771a8d7aa94016fbefa732ac (patch)
tree7ce1e3c8385736de5c8447cbca6b67991796b7cb /sql/set_var.h
parent3fa8c279d57e4a23a8ee34f50d5261541bf928e5 (diff)
downloadmariadb-git-2a4e8813f6820ca0771a8d7aa94016fbefa732ac.tar.gz
GLOBAL_VALUE_ORIGIN=AUTO
Diffstat (limited to 'sql/set_var.h')
-rw-r--r--sql/set_var.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/sql/set_var.h b/sql/set_var.h
index b74578cd345..e48f394c316 100644
--- a/sql/set_var.h
+++ b/sql/set_var.h
@@ -63,7 +63,7 @@ public:
enum flag_enum { GLOBAL, SESSION, ONLY_SESSION, SCOPE_MASK=1023,
READONLY=1024, ALLOCATED=2048, PARSE_EARLY=4096 };
enum { NO_GETOPT=-1, GETOPT_ONLY_HELP=-2 };
- enum where { CONFIG, AUTO, SQL, COMPILE_TIME };
+ enum where { CONFIG, AUTO, SQL, COMPILE_TIME, ENV };
/**
Enumeration type to indicate for a system variable whether
@@ -392,6 +392,14 @@ int fill_sysvars(THD *thd, TABLE_LIST *tables, COND *cond);
sys_var *find_sys_var(THD *thd, const char *str, uint length=0);
int sql_set_variables(THD *thd, List<set_var_base> *var_list);
+#define SYSVAR_AUTOSIZE(VAR,VAL) \
+ do { \
+ VAR= (VAL); \
+ mark_sys_var_value_origin(&VAR, sys_var::AUTO); \
+ } while(0)
+
+void mark_sys_var_value_origin(void *ptr, enum sys_var::where here);
+
bool fix_delay_key_write(sys_var *self, THD *thd, enum_var_type type);
ulonglong expand_sql_mode(ulonglong sql_mode);