Fix 'CREATE TABLE ... LIKE ...' when lower_case_table_names
is set on case-sensitive file systems and the source table was specified in something other than lowercase. (Bug #9761) mysql-test/r/lowercase_table.result: Add results mysql-test/t/lowercase_table.test: Regression test for Bug #9761 sql/sql_table.cc: When lower_case_table_names is set, make sure to look for the source table using a lowercase filename.
This commit is contained in:
parent
1faa742b86
commit
ef3e9e1cff
@ -78,5 +78,8 @@ ERROR 42000: Not unique table/alias: 'C'
|
||||
select C.a, c.a from t1 c, t2 C;
|
||||
ERROR 42000: Not unique table/alias: 'C'
|
||||
drop table t1, t2;
|
||||
create table t1 (a int);
|
||||
create table t2 like T1;
|
||||
drop table t1, t2;
|
||||
show tables;
|
||||
Tables_in_test
|
||||
|
@ -73,4 +73,12 @@ select * from t1 c, t2 C;
|
||||
select C.a, c.a from t1 c, t2 C;
|
||||
drop table t1, t2;
|
||||
|
||||
#
|
||||
# Bug #9761: CREATE TABLE ... LIKE ... not handled correctly when
|
||||
# lower_case_table_names is set
|
||||
|
||||
create table t1 (a int);
|
||||
create table t2 like T1;
|
||||
drop table t1, t2;
|
||||
|
||||
show tables;
|
||||
|
@ -2281,6 +2281,8 @@ int mysql_create_like_table(THD* thd, TABLE_LIST* table,
|
||||
reg_ext, NullS);
|
||||
/* Resolve symlinks (for windows) */
|
||||
fn_format(src_path, src_path, "", "", MYF(MY_UNPACK_FILENAME));
|
||||
if (lower_case_table_names)
|
||||
my_casedn_str(files_charset_info, src_path);
|
||||
if (access(src_path, F_OK))
|
||||
{
|
||||
my_error(ER_BAD_TABLE_ERROR, MYF(0), src_table);
|
||||
|
Loading…
x
Reference in New Issue
Block a user