summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorunknown <bar@bar.mysql.r18.ru>2003-05-30 13:03:56 +0500
committerunknown <bar@bar.mysql.r18.ru>2003-05-30 13:03:56 +0500
commitf46e958e1e0a6ca13bb94dea7064b338c5474a8d (patch)
tree7682d84ae2c4a6586327f259fdad9663290deb15 /sql/mysqld.cc
parent69e084af1eedff2dda70fcf073dd4fa349718b69 (diff)
downloadmariadb-git-f46e958e1e0a6ca13bb94dea7064b338c5474a8d.tar.gz
character_set_server is now updatable
character_set_database was added Code optimization: reuse more code for all character sets variables sql/mysqld.cc: character_set_server is now updatable character_set_database was added sql/set_var.cc: character_set_server is now updatable character_set_database was added sql/set_var.h: character_set_server is now updatable character_set_database was added sql/sql_base.cc: character_set_server is now updatable character_set_database was added sql/sql_class.cc: character_set_server is now updatable character_set_database was added sql/sql_class.h: character_set_server is now updatable character_set_database was added sql/sql_db.cc: character_set_server is now updatable character_set_database was added sql/sql_load.cc: character_set_server is now updatable character_set_database was added sql/sql_table.cc: character_set_server is now updatable character_set_database was added sql/sql_yacc.yy: character_set_server is now updatable character_set_database was added BitKeeper/etc/ignore: Added scripts/mysql_create_system_tables to the ignore list
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc18
1 files changed, 11 insertions, 7 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 6d31abc3dc9..224bfe5f878 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -300,7 +300,7 @@ char* log_error_file_ptr= log_error_file;
char mysql_real_data_home[FN_REFLEN],
language[LIBLEN],reg_ext[FN_EXTLEN], mysql_charsets_dir[FN_REFLEN],
max_sort_char,*mysqld_user,*mysqld_chroot, *opt_init_file;
-char *language_ptr, *default_collation_name;
+char *language_ptr, *default_collation_name, *default_character_set_name;
char mysql_data_home_buff[2], *mysql_data_home=mysql_real_data_home;
char server_version[SERVER_VERSION_LENGTH]=MYSQL_SERVER_VERSION;
char *mysql_unix_port, *opt_mysql_tmpdir;
@@ -2028,7 +2028,7 @@ static int init_common_variables(const char *conf_file_name, int argc,
#ifdef USE_REGEX
regex_init(&my_charset_latin1);
#endif
- if (!(default_charset_info= get_charset_by_csname(sys_charset.value,
+ if (!(default_charset_info= get_charset_by_csname(default_character_set_name,
MY_CS_PRIMARY,
MYF(MY_WME))))
return 1;
@@ -2046,6 +2046,8 @@ static int init_common_variables(const char *conf_file_name, int argc,
}
default_charset_info= default_collation;
}
+ global_system_variables.character_set_server= default_charset_info;
+ global_system_variables.character_set_database= default_charset_info;
global_system_variables.character_set_results= NULL;
global_system_variables.character_set_client= default_charset_info;
global_system_variables.collation_connection= default_charset_info;
@@ -3542,8 +3544,8 @@ Disable with --skip-bdb (will save memory)",
0, 0, 0, 0, 0, 0},
#endif /* HAVE_OPENSSL */
{"default-character-set", 'C', "Set the default character set",
- (gptr*) &sys_charset.value, (gptr*) &sys_charset.value, 0, GET_STR,
- REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
+ (gptr*) &default_character_set_name, (gptr*) &default_character_set_name,
+ 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
{"default-collation", OPT_DEFAULT_COLLATION, "Set the default collation",
(gptr*) &default_collation_name, (gptr*) &default_collation_name,
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
@@ -4538,7 +4540,7 @@ static void use_help(void)
static void usage(void)
{
- if (!(default_charset_info= get_charset_by_csname(sys_charset.value,
+ if (!(default_charset_info= get_charset_by_csname(default_character_set_name,
MY_CS_PRIMARY,
MYF(MY_WME))))
exit(1);
@@ -4642,7 +4644,6 @@ static void mysql_init_variables(void)
pidfile_name_ptr= pidfile_name;
log_error_file_ptr= log_error_file;
language_ptr= language;
- default_collation_name= (char*) MYSQL_DEFAULT_COLLATION_NAME;
mysql_data_home= mysql_real_data_home;
thd_startup_options= (OPTION_UPDATE_LOG | OPTION_AUTO_IS_NULL |
OPTION_BIN_LOG | OPTION_QUOTE_SHOW_CREATE);
@@ -4681,10 +4682,13 @@ static void mysql_init_variables(void)
/* Variables in libraries */
charsets_dir= 0;
- sys_charset.value= (char*) MYSQL_DEFAULT_CHARSET_NAME;
+ default_character_set_name= (char*) MYSQL_DEFAULT_CHARSET_NAME;
+ default_collation_name= (char*) MYSQL_DEFAULT_COLLATION_NAME;
sys_charset_system.value= (char*) system_charset_info->csname;
/* Set default values for some option variables */
+ global_system_variables.character_set_server= default_charset_info;
+ global_system_variables.character_set_database= default_charset_info;
global_system_variables.character_set_results= NULL;
global_system_variables.character_set_client= default_charset_info;
global_system_variables.collation_connection= default_charset_info;