summaryrefslogtreecommitdiff
path: root/sql/set_var.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mysql.com>2009-10-21 15:48:22 +0500
committerAlexander Barkov <bar@mysql.com>2009-10-21 15:48:22 +0500
commitdcb8bb23c29172949781f5214b8222505752de70 (patch)
treed2522e7182d47f0be16e18e95d3830f7ff496ce0 /sql/set_var.h
parent52701ff3277d6641994e6b76d84bb5903af48d59 (diff)
parentde7d1abe9386c2e9df1a8c5f3b95f3cd57cc6c9f (diff)
downloadmariadb-git-dcb8bb23c29172949781f5214b8222505752de70.tar.gz
Merging mysql-next-mr-merge to mysql-next-mr.
Diffstat (limited to 'sql/set_var.h')
-rw-r--r--sql/set_var.h37
1 files changed, 31 insertions, 6 deletions
diff --git a/sql/set_var.h b/sql/set_var.h
index fa747107870..d52679550ab 100644
--- a/sql/set_var.h
+++ b/sql/set_var.h
@@ -1216,11 +1216,12 @@ public:
};
-class sys_var_thd_lc_time_names :public sys_var_thd
+
+class sys_var_thd_lc: public sys_var_thd
{
public:
- sys_var_thd_lc_time_names(sys_var_chain *chain, const char *name_arg,
- Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
+ sys_var_thd_lc(sys_var_chain *chain, const char *name_arg,
+ Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
: sys_var_thd(name_arg, NULL, binlog_status_arg)
{
#if MYSQL_VERSION_ID < 50000
@@ -1235,11 +1236,35 @@ public:
return ((type != STRING_RESULT) && (type != INT_RESULT));
}
bool check_default(enum_var_type type) { return 0; }
+};
+
+
+class sys_var_thd_lc_time_names :public sys_var_thd_lc
+{
+public:
+ sys_var_thd_lc_time_names(sys_var_chain *chain_arg, const char *name_arg,
+ Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
+ : sys_var_thd_lc(chain_arg, name_arg, binlog_status_arg)
+ {}
bool update(THD *thd, set_var *var);
uchar *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base);
- virtual void set_default(THD *thd, enum_var_type type);
+ void set_default(THD *thd, enum_var_type type);
};
+
+class sys_var_thd_lc_messages :public sys_var_thd_lc
+{
+public:
+ sys_var_thd_lc_messages(sys_var_chain *chain_arg, const char *name_arg,
+ Binlog_status_enum binlog_status_arg= NOT_IN_BINLOG)
+ : sys_var_thd_lc(chain_arg, name_arg, binlog_status_arg)
+ {}
+ bool update(THD *thd, set_var *var);
+ uchar *value_ptr(THD *thd, enum_var_type type, LEX_STRING *base);
+ void set_default(THD *thd, enum_var_type type);
+};
+
+
#ifdef HAVE_EVENT_SCHEDULER
class sys_var_event_scheduler :public sys_var_long_ptr
{
@@ -1322,8 +1347,8 @@ public:
{
Item_field *item= (Item_field*) value_arg;
if (!(value=new Item_string(item->field_name,
- (uint) strlen(item->field_name),
- item->collation.collation)))
+ (uint) strlen(item->field_name),
+ system_charset_info)))
value=value_arg; /* Give error message later */
}
else