diff options
-rw-r--r-- | mysql-test/r/lowercase_table2.result | 7 | ||||
-rw-r--r-- | mysql-test/t/lowercase_table2.test | 10 | ||||
-rw-r--r-- | sql/mysqld.cc | 8 |
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; |