summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/lowercase_table.result3
-rw-r--r--mysql-test/t/lowercase_table.test8
-rw-r--r--sql/sql_table.cc2
3 files changed, 13 insertions, 0 deletions
diff --git a/mysql-test/r/lowercase_table.result b/mysql-test/r/lowercase_table.result
index a30ec0f160c..ef379cebaa9 100644
--- a/mysql-test/r/lowercase_table.result
+++ b/mysql-test/r/lowercase_table.result
@@ -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
diff --git a/mysql-test/t/lowercase_table.test b/mysql-test/t/lowercase_table.test
index a9c0c976afc..ee8dc403981 100644
--- a/mysql-test/t/lowercase_table.test
+++ b/mysql-test/t/lowercase_table.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;
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index f3f8511026b..c03edfdb012 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -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);