144
144
&SV::binlog_format);
145
145
static sys_var_thd_ulong sys_bulk_insert_buff_size(&vars, "bulk_insert_buffer_size",
146
146
&SV::bulk_insert_buff_size);
147
static sys_var_character_set_sv
148
sys_character_set_server(&vars, "character_set_server",
149
&SV::collation_server, &default_charset_info, 0,
150
sys_var::SESSION_VARIABLE_IN_BINLOG);
151
sys_var_const_str sys_charset_system(&vars, "character_set_system",
152
(char *)my_charset_utf8_general_ci.name);
153
static sys_var_character_set_database
154
sys_character_set_database(&vars, "character_set_database",
155
sys_var::SESSION_VARIABLE_IN_BINLOG);
156
static sys_var_character_set_client
157
sys_character_set_client(&vars, "character_set_client",
158
&SV::character_set_client,
159
&default_charset_info,
160
sys_var::SESSION_VARIABLE_IN_BINLOG);
161
static sys_var_character_set_sv
162
sys_character_set_connection(&vars, "character_set_connection",
163
&SV::collation_connection,
164
&default_charset_info, 0,
165
sys_var::SESSION_VARIABLE_IN_BINLOG);
166
static sys_var_character_set_sv sys_character_set_results(&vars, "character_set_results",
167
&SV::character_set_results,
168
&default_charset_info, true);
169
static sys_var_character_set_sv sys_character_set_filesystem(&vars, "character_set_filesystem",
170
&SV::character_set_filesystem,
171
&character_set_filesystem);
172
147
static sys_var_thd_ulong sys_completion_type(&vars, "completion_type",
173
148
&SV::completion_type,
174
149
check_completion_type,
1733
void sys_var_character_set_sv::set_default(THD *thd, enum_var_type type)
1735
if (type == OPT_GLOBAL)
1736
global_system_variables.*offset= *global_default;
1739
thd->variables.*offset= global_system_variables.*offset;
1740
thd->update_charset();
1743
const CHARSET_INFO **sys_var_character_set_sv::ci_ptr(THD *thd, enum_var_type type)
1745
if (type == OPT_GLOBAL)
1746
return &(global_system_variables.*offset);
1748
return &(thd->variables.*offset);
1752
bool sys_var_character_set_client::check(THD *thd, set_var *var)
1754
if (sys_var_character_set_sv::check(thd, var))
1756
/* Currently, UCS-2 cannot be used as a client character set */
1757
if (var->save_result.charset->mbminlen > 1)
1759
my_error(ER_WRONG_VALUE_FOR_VAR, MYF(0), name,
1760
var->save_result.charset->csname);
1767
const CHARSET_INFO ** sys_var_character_set_database::ci_ptr(THD *thd,
1770
if (type == OPT_GLOBAL)
1771
return &global_system_variables.collation_database;
1773
return &thd->variables.collation_database;
1777
void sys_var_character_set_database::set_default(THD *thd, enum_var_type type)
1779
if (type == OPT_GLOBAL)
1780
global_system_variables.collation_database= default_charset_info;
1783
thd->variables.collation_database= thd->db_charset;
1784
thd->update_charset();
1789
1708
bool sys_var_collation_sv::update(THD *thd, set_var *var)
1791
1710
if (var->type == OPT_GLOBAL)