# # Test of --lower-case-table-names=2 # (User has case insensitive file system and wants to preserve case of # table names) # --source include/have_innodb.inc --require r/lowercase2.require disable_query_log; show variables like "lower_case_table_names"; enable_query_log; --disable_warnings DROP TABLE IF EXISTS t1,t2,t3,t2aA,t1Aa; DROP DATABASE IF EXISTS `TEST_$1`; DROP DATABASE IF EXISTS `test_$1`; DROP DATABASE IF EXISTS mysqltest_LC2; --enable_warnings CREATE TABLE T1 (a int); INSERT INTO T1 VALUES (1); SHOW TABLES LIKE "T1"; SHOW TABLES LIKE "t1"; SHOW CREATE TABLE T1; RENAME TABLE T1 TO T2; SHOW TABLES LIKE "T2"; SELECT * FROM t2; RENAME TABLE T2 TO t3; SHOW TABLES LIKE "T3"; RENAME TABLE T3 TO T1; SHOW TABLES LIKE "T1"; ALTER TABLE T1 add b int; SHOW TABLES LIKE "T1"; ALTER TABLE T1 RENAME T2; SHOW TABLES LIKE "T2"; LOCK TABLE T2 WRITE; ALTER TABLE T2 drop b; SHOW TABLES LIKE "T2"; UNLOCK TABLES; RENAME TABLE T2 TO T1; SHOW TABLES LIKE "T1"; SELECT * from T1; DROP TABLE T1; # # Test database level # CREATE DATABASE `TEST_$1`; SHOW DATABASES LIKE "TEST%"; DROP DATABASE `test_$1`; # # Test of innodb tables with lower_case_table_names=2 # CREATE TABLE T1 (a int) engine=innodb; INSERT INTO T1 VALUES (1); SHOW TABLES LIKE "T1"; SHOW TABLES LIKE "t1"; SHOW CREATE TABLE T1; RENAME TABLE T1 TO T2; SHOW TABLES LIKE "T2"; SELECT * FROM t2; RENAME TABLE T2 TO t3; SHOW TABLES LIKE "T3"; RENAME TABLE T3 TO T1; SHOW TABLES LIKE "T1"; ALTER TABLE T1 add b int; SHOW TABLES LIKE "T1"; ALTER TABLE T1 RENAME T2; SHOW TABLES LIKE "T2"; LOCK TABLE T2 WRITE; ALTER TABLE T2 drop b; SHOW TABLES LIKE "T2"; UNLOCK TABLES; RENAME TABLE T2 TO T1; SHOW TABLES LIKE "T1"; SELECT * from T1; DROP TABLE T1; # # Test problem with temporary tables (Bug #2858) # create table T1 (EVENT_ID int auto_increment primary key, LOCATION char(20)); insert into T1 values (NULL,"Mic-4"),(NULL,"Mic-5"),(NULL,"Mic-6"); SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3; SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3; SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL SELECT LOCATION FROM T1 WHERE EVENT_ID=3; drop table T1; # # Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109) # create table T1 (A int); alter table T1 add index (A); show tables like 'T1%'; alter table t1 add index (A); show tables like 't1%'; drop table t1; # # Bug #7261: Alter table loses temp table # create temporary table T1(a int(11), b varchar(8)); insert into T1 values (1, 'abc'); select * from T1; alter table T1 add index (a); select * from T1; drop table T1; # # Bug #8355: Tables not dropped from table cache on drop db # create database mysqltest_LC2; use mysqltest_LC2; create table myUC (i int); insert into myUC values (1),(2),(3); select * from myUC; use test; drop database mysqltest_LC2; create database mysqltest_LC2; use mysqltest_LC2; 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; # End of 4.1 tests