mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
1de817e9c4
within is dropped and lower_case_table_names is set. (Bug #8355) mysql-test/t/lowercase_table2.test: Add new regression test mysql-test/r/lowercase_table2.result: Add results for regression test sql/mysql_priv.h: Change remove_db_from_cache() to use char* instead of my_string sql/sql_base.cc: Lowercase database name in remove_db_from_cache so that all of the correct entries are removed.
130 lines
2.9 KiB
Text
130 lines
2.9 KiB
Text
#
|
|
# 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;
|
|
|
|
#
|
|
# 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;
|