From 3bdfe4485999445061a3edc6308c0c6eaf6476b7 Mon Sep 17 00:00:00 2001 From: "jimw@mysql.com" <> Date: Wed, 19 Jan 2005 12:23:24 -0800 Subject: [PATCH 1/2] Warn when mysqld starts up with lower_case_table_names=2 but datadir is on a case-sensitive filesystem. (Bug #7887) --- sql/mysqld.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index d1fef3519bf..b21b84a34e7 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2913,6 +2913,17 @@ You should consider changing lower_case_table_names to 1 or 2", lower_case_table_names= 2; } } + else if (lower_case_table_names == 2 && + (test_if_case_insensitive(mysql_real_data_home) == 0)) + { + if (global_system_variables.log_warnings) + sql_print_warning("\ +You have forced lower_case_table_names to 2 through a command-line \ +option, even though your file system '%s' is case sensitive. This means \ +that you can create a table that you can then no longer access. \ +You should consider changing lower_case_table_names to 0.", + mysql_real_data_home); + } select_thread=pthread_self(); select_thread_in_use=1; From fa1098618e506b09464a0c4b70c08b01a246cc66 Mon Sep 17 00:00:00 2001 From: "jimw@mysql.com" <> Date: Mon, 24 Jan 2005 12:31:14 -0800 Subject: [PATCH 2/2] Set lower_case_file_system when it is being tested to check if lower_case_tables_names=2 is sensible. Related to Bug #7887. --- sql/mysqld.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b21b84a34e7..425911570ef 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2914,7 +2914,8 @@ You should consider changing lower_case_table_names to 1 or 2", } } else if (lower_case_table_names == 2 && - (test_if_case_insensitive(mysql_real_data_home) == 0)) + !(lower_case_file_system= + (test_if_case_insensitive(mysql_real_data_home) == 1))) { if (global_system_variables.log_warnings) sql_print_warning("\