#At file:///localhome/jl208045/mysql/mysql-6.0-backup-43220/ based on revid:alik@stripped
2698 Jorgen Loland 2009-04-29
Bug#43220 - Test backup_datatypes fails on powermacg5 platform.
The server APIs for openening and locking tables et al. expect table
names in a normalized form. This means that if lower_case_table_names>0, the APIs expect
lower case table names. Backup, however, gets and uses the table names found in
INFORMATION_SCHEMA.TABLES. If lctn=2, the names there may contain upper case characters.
With this patch, backup normalizes table names used internally. I.e., if lctn>0, table names are represented in lower case where backup/restore calls server code.
@ sql/backup/backup_aux.h
Make the table names backup/restore uses to call server code lower case if lower_case_table_names is set.
modified:
sql/backup/backup_aux.h
=== modified file 'sql/backup/backup_aux.h'
--- a/sql/backup/backup_aux.h 2009-03-09 14:00:03 +0000
+++ b/sql/backup/backup_aux.h 2009-04-29 14:13:36 +0000
@@ -204,6 +204,13 @@ int set_table_list(TABLE_LIST &tl, const
DBUG_ASSERT(mem);
tl.alias= tl.table_name= const_cast<char*>(tbl.name().ptr());
+
+ /* If lower_case_table_names is set, the table names are expected to
+ be lower case internally in the server.
+ */
+ if (lower_case_table_names)
+ my_casedn_str(system_charset_info, tl.table_name);
+
tl.db= const_cast<char*>(tbl.db().name().ptr());
tl.lock_type= lock_type;
Attachment: [text/bzr-bundle] bzr/jorgen.loland@sun.com-20090429141336-0kjql3wk97ngehoy.bundle