summaryrefslogtreecommitdiff
path: root/mysql-test/t/lowercase_table2.test
blob: a4eaeac4ef42ba4820c60377a4b58953056a409a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#
# 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;
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;