diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/mysql_priv.h | 2 | ||||
-rw-r--r-- | sql/mysqld.cc | 6 | ||||
-rw-r--r-- | sql/set_var.cc | 8 | ||||
-rw-r--r-- | sql/set_var.h | 1 |
4 files changed, 10 insertions, 7 deletions
diff --git a/sql/mysql_priv.h b/sql/mysql_priv.h index ea6e544a1fd..632007d1415 100644 --- a/sql/mysql_priv.h +++ b/sql/mysql_priv.h @@ -678,7 +678,7 @@ bool open_log(MYSQL_LOG *log, const char *hostname, extern time_t start_time; extern char *mysql_data_home,server_version[SERVER_VERSION_LENGTH], - mysql_real_data_home[], *charsets_list, *opt_mysql_tmpdir; + mysql_real_data_home[], *opt_mysql_tmpdir; #define mysql_tmpdir (my_tmpdir(&mysql_tmpdir_list)) extern MY_TMPDIR mysql_tmpdir_list; extern const char *command_name[]; diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 187eb77f70f..b8b57f4e2f3 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -420,7 +420,7 @@ ulong expire_logs_days = 0; char mysql_real_data_home[FN_REFLEN], language[LIBLEN],reg_ext[FN_EXTLEN], - mysql_charsets_dir[FN_REFLEN], *charsets_list, + mysql_charsets_dir[FN_REFLEN], blob_newline,f_fyllchar,max_sort_char,*mysqld_user,*mysqld_chroot, *opt_init_file; char *language_ptr= language; @@ -942,7 +942,6 @@ void clean_up(bool print_message) #endif if (defaults_argv) free_defaults(defaults_argv); - my_free(charsets_list, MYF(MY_ALLOW_ZERO_PTR)); free_tmpdir(&mysql_tmpdir_list); #ifdef HAVE_REPLICATION my_free(slave_load_tmpdir,MYF(MY_ALLOW_ZERO_PTR)); @@ -2111,8 +2110,6 @@ static int init_common_variables(const char *conf_file_name, int argc, global_system_variables.collation_client= default_charset_info; global_system_variables.collation_connection= default_charset_info; - charsets_list= list_charsets(MYF(MY_CS_COMPILED | MY_CS_CONFIG)); - if (use_temp_pool && bitmap_init(&temp_pool,1024,1)) return 1; return 0; @@ -4607,6 +4604,7 @@ static void set_options(void) #endif sys_charset.value= (char*) MYSQL_CHARSET; + sys_charset_system.value= (char*) system_charset_info->csname; (void) strmake(language, LANGUAGE, sizeof(language)-1); (void) strmake(mysql_real_data_home, get_relative_path(DATADIR), sizeof(mysql_real_data_home)-1); diff --git a/sql/set_var.cc b/sql/set_var.cc index e4adbb0a318..fa875f1368a 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -105,6 +105,10 @@ sys_var_str sys_charset("character_set", sys_check_charset, sys_update_charset, sys_set_default_charset); +sys_var_str sys_charset_system("character_set_system", + sys_check_charset, + sys_update_charset, + sys_set_default_charset); sys_var_collation_client sys_collation_client("collation_client"); sys_var_collation_connection sys_collation_connection("collation_connection"); sys_var_collation_results sys_collation_results("collation_results"); @@ -463,8 +467,8 @@ struct show_var_st init_vars[]= { #endif {sys_binlog_cache_size.name,(char*) &sys_binlog_cache_size, SHOW_SYS}, {sys_bulk_insert_buff_size.name,(char*) &sys_bulk_insert_buff_size,SHOW_SYS}, - {sys_charset.name, (char*) &sys_charset, SHOW_SYS}, - {"character_sets", (char*) &charsets_list, SHOW_CHAR_PTR}, + {sys_charset.name, (char*) &sys_charset, SHOW_SYS}, + {sys_charset_system.name, (char*) &sys_charset_system, SHOW_SYS}, {sys_collation_client.name, (char*) &sys_collation_client, SHOW_SYS}, {sys_collation_connection.name,(char*) &sys_collation_connection, SHOW_SYS}, {sys_collation_results.name, (char*) &sys_collation_results, SHOW_SYS}, diff --git a/sql/set_var.h b/sql/set_var.h index fbd20228d24..03cc3b30a03 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -582,4 +582,5 @@ int sql_set_variables(THD *thd, List<set_var_base> *var_list); void fix_delay_key_write(THD *thd, enum_var_type type); extern sys_var_str sys_charset; +extern sys_var_str sys_charset_system; CHARSET_INFO *get_old_charset_by_name(const char *old_name); |