summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/lowercase_table2.result7
-rw-r--r--mysql-test/t/lowercase_table2.test10
-rw-r--r--sql/mysqld.cc8
3 files changed, 20 insertions, 5 deletions
diff --git a/mysql-test/r/lowercase_table2.result b/mysql-test/r/lowercase_table2.result
index 1015990df9a..db833bcd970 100644
--- a/mysql-test/r/lowercase_table2.result
+++ b/mysql-test/r/lowercase_table2.result
@@ -1,4 +1,4 @@
-DROP TABLE IF EXISTS t1,t2,T1,T2,t3,T3;
+DROP TABLE IF EXISTS t1,t2,t3;
DROP DATABASE IF EXISTS `TEST_$1`;
DROP DATABASE IF EXISTS `test_$1`;
CREATE TABLE T1 (a int);
@@ -159,3 +159,8 @@ select * from myUC;
i
use test;
drop database mysqltest_LC2;
+create table t2aA (col1 int);
+create table t1Aa (col1 int);
+select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
+col1
+drop table t2aA, t1Aa;
diff --git a/mysql-test/t/lowercase_table2.test b/mysql-test/t/lowercase_table2.test
index eff5f2a99ec..51c6f6b5ac3 100644
--- a/mysql-test/t/lowercase_table2.test
+++ b/mysql-test/t/lowercase_table2.test
@@ -10,7 +10,7 @@ show variables like "lower_case_table_names";
enable_query_log;
--disable_warnings
-DROP TABLE IF EXISTS t1,t2,T1,T2,t3,T3;
+DROP TABLE IF EXISTS t1,t2,t3;
DROP DATABASE IF EXISTS `TEST_$1`;
DROP DATABASE IF EXISTS `test_$1`;
--enable_warnings
@@ -128,3 +128,11 @@ create table myUC (i int);
select * from myUC;
use test;
drop database mysqltest_LC2;
+
+#
+# Bug #9500: Problem with WHERE clause
+#
+create table t2aA (col1 int);
+create table t1Aa (col1 int);
+select t1Aa.col1 from t1aA,t2Aa where t1Aa.col1 = t2aA.col1;
+drop table t2aA, t1Aa;
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 44b91fd3530..67a80c4ca20 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2988,6 +2988,11 @@ You should consider changing lower_case_table_names to 1 or 2",
lower_case_table_names= 0;
}
+ /* Reset table_alias_charset, now that lower_case_table_names is set. */
+ table_alias_charset= (lower_case_table_names ?
+ files_charset_info :
+ &my_charset_bin);
+
select_thread=pthread_self();
select_thread_in_use=1;
init_ssl();
@@ -6509,9 +6514,6 @@ static void get_options(int argc,char **argv)
/* Set global variables based on startup options */
myisam_block_size=(uint) 1 << my_bit_log2(opt_myisam_block_size);
- table_alias_charset= (lower_case_table_names ?
- files_charset_info :
- &my_charset_bin);
if (opt_short_log_format)
opt_specialflag|= SPECIAL_SHORT_LOG_FORMAT;