From a5fab72bc4bb515fd41b06889bdb674437971d9c Mon Sep 17 00:00:00 2001 From: "dlenev@brandersnatch.localdomain" <> Date: Tue, 25 May 2004 02:30:09 +0400 Subject: [PATCH] Fix for sporadically failures of innodb.test on Darwin 7.3 which occured because we were not lowering case of file names for temporary tables altough handler assumes so if lower_case_table_names==2. Now we are lowering case for them. --- sql/sql_select.cc | 3 +++ sql/sql_table.cc | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 6da778f6196..650297dce5d 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -4909,6 +4909,9 @@ create_tmp_table(THD *thd,TMP_TABLE_PARAM *param,List &fields, else // if we run out of slots or we are not using tempool sprintf(path,"%s%s%lx_%lx_%x",mysql_tmpdir,tmp_file_prefix,current_pid, thd->thread_id, thd->tmp_table++); + + if (lower_case_table_names) + my_casedn_str(files_charset_info, path); if (group) { diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 9fe61e06d83..8ed18f5e125 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -1159,6 +1159,8 @@ int mysql_create_table(THD *thd,const char *db, const char *table_name, my_snprintf(path, sizeof(path), "%s%s%lx_%lx_%x%s", mysql_tmpdir, tmp_file_prefix, current_pid, thd->thread_id, thd->tmp_table++, reg_ext); + if (lower_case_table_names) + my_casedn_str(files_charset_info, path); create_info->table_options|=HA_CREATE_DELAY_KEY_WRITE; } else @@ -2086,6 +2088,8 @@ int mysql_create_like_table(THD* thd, TABLE_LIST* table, my_snprintf(dst_path, sizeof(dst_path), "%s%s%lx_%lx_%x%s", mysql_tmpdir, tmp_file_prefix, current_pid, thd->thread_id, thd->tmp_table++, reg_ext); + if (lower_case_table_names) + my_casedn_str(files_charset_info, dst_path); create_info->table_options|= HA_CREATE_DELAY_KEY_WRITE; } else @@ -3044,6 +3048,8 @@ int mysql_alter_table(THD *thd,char *new_db, char *new_name, thd->proc_info="rename result table"; my_snprintf(old_name, sizeof(old_name), "%s2-%lx-%lx", tmp_file_prefix, current_pid, thd->thread_id); + if (lower_case_table_names) + my_casedn_str(files_charset_info, old_name); if (new_name != table_name || new_db != db) { if (!access(new_name_buff,F_OK))