diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/mysqld.cc | 8 | ||||
-rw-r--r-- | sql/sys_vars.cc | 2 |
2 files changed, 6 insertions, 4 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 594f50b72f2..6a5162e2f03 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -4538,8 +4538,10 @@ static int init_common_variables() get corrupted if accesses with names of different case. */ DBUG_PRINT("info", ("lower_case_table_names: %d", lower_case_table_names)); + if(mysql_real_data_home_ptr == NULL || *mysql_real_data_home_ptr == 0) + mysql_real_data_home_ptr= mysql_real_data_home; SYSVAR_AUTOSIZE(lower_case_file_system, - test_if_case_insensitive(mysql_real_data_home)); + test_if_case_insensitive(mysql_real_data_home_ptr)); if (!lower_case_table_names && lower_case_file_system == 1) { if (lower_case_table_names_used) @@ -4556,7 +4558,7 @@ static int init_common_variables() { if (global_system_variables.log_warnings) sql_print_warning("Setting lower_case_table_names=2 because file " - "system for %s is case insensitive", mysql_real_data_home); + "system for %s is case insensitive", mysql_real_data_home_ptr); SYSVAR_AUTOSIZE(lower_case_table_names, 2); } } @@ -4567,7 +4569,7 @@ static int init_common_variables() sql_print_warning("lower_case_table_names was set to 2, even though your " "the file system '%s' is case sensitive. Now setting " "lower_case_table_names to 0 to avoid future problems.", - mysql_real_data_home); + mysql_real_data_home_ptr); SYSVAR_AUTOSIZE(lower_case_table_names, 0); } else diff --git a/sql/sys_vars.cc b/sql/sys_vars.cc index 9f87c846fd0..9c1c7096460 100644 --- a/sql/sys_vars.cc +++ b/sql/sys_vars.cc @@ -818,7 +818,7 @@ static Sys_var_ulong Sys_connect_timeout( static Sys_var_charptr Sys_datadir( "datadir", "Path to the database root directory", - READ_ONLY GLOBAL_VAR(mysql_real_data_home_ptr), + PARSED_EARLY READ_ONLY GLOBAL_VAR(mysql_real_data_home_ptr), CMD_LINE(REQUIRED_ARG, 'h'), IN_FS_CHARSET, DEFAULT(mysql_real_data_home)); #ifndef DBUG_OFF |