# # 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,T1,T2,t3,T3,tT; DROP DATABASE IF EXISTS `TEST_$1`; DROP DATABASE IF EXISTS `test_$1`; --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 tT(a int(11), b varchar(8)); insert into tT values (1, 'abc'); select * from tT; alter table tT add index (a); select * from tT; drop table tT;