diff options
author | unknown <bell@sanja.is.com.ua> | 2004-03-21 16:39:37 +0200 |
---|---|---|
committer | unknown <bell@sanja.is.com.ua> | 2004-03-21 16:39:37 +0200 |
commit | afbf1bbaa40614b965752c9c8dd2ca28c4428cb0 (patch) | |
tree | 671f644d96ac09df143be022d1644c21f1266959 /sql | |
parent | 5764e4f68462a9b2ded18b6705ef6456f9b4e6b1 (diff) | |
parent | 7b31e57f56117b5bd31d6c4f018a579a71696883 (diff) | |
download | mariadb-git-afbf1bbaa40614b965752c9c8dd2ca28c4428cb0.tar.gz |
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-select_list-4.1
sql/sql_parse.cc:
Auto merged
Diffstat (limited to 'sql')
-rw-r--r-- | sql/mysqld.cc | 4 | ||||
-rw-r--r-- | sql/set_var.cc | 30 | ||||
-rw-r--r-- | sql/set_var.h | 5 | ||||
-rw-r--r-- | sql/slave.cc | 2 | ||||
-rw-r--r-- | sql/sql_parse.cc | 2 |
5 files changed, 23 insertions, 20 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index fc50b8c5c6e..525f3db3aff 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2189,10 +2189,14 @@ static int init_common_variables(const char *conf_file_name, int argc, sys_init_connect.value_length= 0; if ((sys_init_connect.value= opt_init_connect)) sys_init_connect.value_length= strlen(opt_init_connect); + else + sys_init_connect.value=my_strdup("",MYF(0)); sys_init_slave.value_length= 0; if ((sys_init_slave.value= opt_init_slave)) sys_init_slave.value_length= strlen(opt_init_slave); + else + sys_init_slave.value=my_strdup("",MYF(0)); if (use_temp_pool && bitmap_init(&temp_pool,0,1024,1)) return 1; diff --git a/sql/set_var.cc b/sql/set_var.cc index 98e59db7558..8fe15b700f9 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -121,7 +121,8 @@ sys_var_character_set_server sys_character_set_server("character_set_server"); sys_var_str sys_charset_system("character_set_system", sys_check_charset, sys_update_charset, - sys_set_default_charset); + sys_set_default_charset, + (char *)my_charset_utf8_general_ci.name); sys_var_character_set_database sys_character_set_database("character_set_database"); sys_var_character_set_client sys_character_set_client("character_set_client"); sys_var_character_set_connection sys_character_set_connection("character_set_connection"); @@ -150,13 +151,14 @@ sys_var_long_ptr sys_flush_time("flush_time", &flush_time); sys_var_str sys_ft_boolean_syntax("ft_boolean_syntax", sys_check_ftb_syntax, sys_update_ftb_syntax, - sys_default_ftb_syntax); + sys_default_ftb_syntax, + ft_boolean_syntax); sys_var_str sys_init_connect("init_connect", 0, sys_update_init_connect, - sys_default_init_connect); + sys_default_init_connect,0); sys_var_str sys_init_slave("init_slave", 0, sys_update_init_slave, - sys_default_init_slave); + sys_default_init_slave,0); sys_var_thd_ulong sys_interactive_timeout("interactive_timeout", &SV::net_interactive_timeout); sys_var_thd_ulong sys_join_buffer_size("join_buffer_size", @@ -665,11 +667,11 @@ struct show_var_st init_vars[]= { {sys_join_buffer_size.name, (char*) &sys_join_buffer_size, SHOW_SYS}, {sys_key_buffer_size.name, (char*) &sys_key_buffer_size, SHOW_SYS}, {sys_key_cache_age_threshold.name, (char*) &sys_key_cache_age_threshold, - SHOW_SYS}, + SHOW_SYS}, {sys_key_cache_block_size.name, (char*) &sys_key_cache_block_size, - SHOW_SYS}, + SHOW_SYS}, {sys_key_cache_division_limit.name, (char*) &sys_key_cache_division_limit, - SHOW_SYS}, + SHOW_SYS}, {"language", language, SHOW_CHAR}, {"large_files_support", (char*) &opt_large_files, SHOW_BOOL}, {sys_license.name, (char*) &sys_license, SHOW_SYS}, @@ -833,15 +835,11 @@ bool sys_var_str::check(THD *thd, set_var *var) bool update_sys_var_str(sys_var_str *var_str, rw_lock_t *var_mutex, set_var *var) { - char *res= 0, *old_value; - uint new_length= 0; - /* If the string is "", delete old init command */ - if (var && (new_length= var->value->str_value.length())) - { - if (!(res= my_strdup_with_length((byte*) var->value->str_value.ptr(), - new_length, MYF(0)))) - return 1; - } + char *res= 0, *old_value=(char *)(var ? var->value->str_value.ptr() : 0); + uint new_length= (var ? var->value->str_value.length() : 0); + if (!old_value) old_value=""; + if (!(res= my_strdup_with_length(old_value, new_length, MYF(0)))) + return 1; /* Replace the old value in such a way that the any thread using the value will work. diff --git a/sql/set_var.h b/sql/set_var.h index ac20742da8c..8f21c5a729f 100644 --- a/sql/set_var.h +++ b/sql/set_var.h @@ -139,8 +139,9 @@ public: sys_var_str(const char *name_arg, sys_check_func check_func_arg, sys_update_func update_func_arg, - sys_set_default_func set_default_func_arg) - :sys_var(name_arg), check_func(check_func_arg), + sys_set_default_func set_default_func_arg, + char *value_arg) + :sys_var(name_arg), check_func(check_func_arg), value(value_arg), update_func(update_func_arg),set_default_func(set_default_func_arg) {} bool check(THD *thd, set_var *var); diff --git a/sql/slave.cc b/sql/slave.cc index 37afe456ce3..5493d422d37 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -3188,7 +3188,7 @@ log '%s' at position %s, relay log '%s' position: %s", RPL_LOG_NAME, llstr(rli->group_relay_log_pos,llbuff1)); /* execute init_slave variable */ - if (sys_init_slave.value) + if (sys_init_slave.value_length) { execute_init_command(thd, &sys_init_slave, &LOCK_sys_init_slave); if (thd->query_error) diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 43129f7c3f1..d21f20d1697 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -1000,7 +1000,7 @@ pthread_handler_decl(handle_one_connection,arg) net->compress=1; // Use compression thd->version= refresh_version; - if (sys_init_connect.value && !(thd->master_access & SUPER_ACL)) + if (sys_init_connect.value_length && !(thd->master_access & SUPER_ACL)) { execute_init_command(thd, &sys_init_connect, &LOCK_sys_init_connect); if (thd->query_error) |