mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-26 16:38:11 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			465 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			465 lines
		
	
	
	
		
			13 KiB
		
	
	
	
		
			Text
		
	
	
		
			Executable file
		
	
	
	
	
| 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;
 | |
| CREATE TABLE T1 (a int) ENGINE=MyISAM;
 | |
| INSERT INTO T1 VALUES (1);
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| SHOW TABLES LIKE "t1";
 | |
| Tables_in_test (t1)
 | |
| T1
 | |
| SHOW CREATE TABLE T1;
 | |
| Table	Create Table
 | |
| T1	CREATE TABLE `T1` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| RENAME TABLE T1 TO T2;
 | |
| SHOW TABLES LIKE "T2";
 | |
| Tables_in_test (T2)
 | |
| T2
 | |
| SELECT * FROM t2;
 | |
| a
 | |
| 1
 | |
| RENAME TABLE T2 TO t3;
 | |
| SHOW TABLES LIKE "T3";
 | |
| Tables_in_test (T3)
 | |
| t3
 | |
| RENAME TABLE T3 TO T1;
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| ALTER TABLE T1 add b int;
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| ALTER TABLE T1 RENAME T2;
 | |
| SHOW TABLES LIKE "T2";
 | |
| Tables_in_test (T2)
 | |
| T2
 | |
| LOCK TABLE T2 WRITE;
 | |
| ALTER TABLE T2 drop b;
 | |
| SHOW TABLES LIKE "T2";
 | |
| Tables_in_test (T2)
 | |
| T2
 | |
| UNLOCK TABLES;
 | |
| RENAME TABLE T2 TO T1;
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| SELECT * from T1;
 | |
| a
 | |
| 1
 | |
| DROP TABLE T1;
 | |
| CREATE DATABASE `TEST_$1`;
 | |
| SHOW DATABASES LIKE "TEST%";
 | |
| Database (TEST%)
 | |
| TEST_$1
 | |
| test
 | |
| DROP DATABASE `test_$1`;
 | |
| CREATE TABLE T1 (a int) engine=innodb;
 | |
| INSERT INTO T1 VALUES (1);
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| SHOW TABLES LIKE "t1";
 | |
| Tables_in_test (t1)
 | |
| T1
 | |
| SHOW CREATE TABLE T1;
 | |
| Table	Create Table
 | |
| T1	CREATE TABLE `T1` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| RENAME TABLE T1 TO T2;
 | |
| SHOW TABLES LIKE "T2";
 | |
| Tables_in_test (T2)
 | |
| T2
 | |
| SELECT * FROM t2;
 | |
| a
 | |
| 1
 | |
| RENAME TABLE T2 TO t3;
 | |
| SHOW TABLES LIKE "T3";
 | |
| Tables_in_test (T3)
 | |
| t3
 | |
| RENAME TABLE T3 TO T1;
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| ALTER TABLE T1 add b int;
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| ALTER TABLE T1 RENAME T2;
 | |
| SHOW TABLES LIKE "T2";
 | |
| Tables_in_test (T2)
 | |
| T2
 | |
| LOCK TABLE T2 WRITE;
 | |
| ALTER TABLE T2 drop b;
 | |
| SHOW TABLES LIKE "T2";
 | |
| Tables_in_test (T2)
 | |
| T2
 | |
| UNLOCK TABLES;
 | |
| RENAME TABLE T2 TO T1;
 | |
| SHOW TABLES LIKE "T1";
 | |
| Tables_in_test (T1)
 | |
| T1
 | |
| SELECT * from T1;
 | |
| a
 | |
| 1
 | |
| DROP TABLE T1;
 | |
| create database mysqltest_UPPERCASE;
 | |
| CREATE TABLE mysqltest_UPPERCASE.T1 (a int) engine=innodb;
 | |
| CREATE TABLE mysqltest_uppercase.t2 (a int) engine=innodb;
 | |
| CREATE TABLE mysqltest_UPPERCASE.t3 (a int) engine=innodb;
 | |
| drop table mysqltest_UPPERCASE.T1;
 | |
| drop table mysqltest_UPPERCASE.T2;
 | |
| drop table mysqltest_uppercase.t3;
 | |
| drop database mysqltest_UPPERCASE;
 | |
| 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;
 | |
| LOCATION
 | |
| Mic-5
 | |
| Mic-6
 | |
| SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL  SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
 | |
| LOCATION
 | |
| Mic-5
 | |
| Mic-6
 | |
| SELECT LOCATION FROM T1 WHERE EVENT_ID=2 UNION ALL  SELECT LOCATION FROM T1 WHERE EVENT_ID=3;
 | |
| LOCATION
 | |
| Mic-5
 | |
| Mic-6
 | |
| drop table T1;
 | |
| create table T1 (A int);
 | |
| alter table T1 add index (A);
 | |
| show tables like 'T1%';
 | |
| Tables_in_test (T1%)
 | |
| T1
 | |
| alter table t1 add index (A);
 | |
| Warnings:
 | |
| Note	1831	Duplicate index `A_2`. This is deprecated and will be disallowed in a future release
 | |
| show tables like 't1%';
 | |
| Tables_in_test (t1%)
 | |
| t1
 | |
| drop table t1;
 | |
| create temporary table T1(a int(11), b varchar(8));
 | |
| insert into T1 values (1, 'abc');
 | |
| select * from T1;
 | |
| a	b
 | |
| 1	abc
 | |
| alter table T1 add index (a);
 | |
| select * from T1;
 | |
| a	b
 | |
| 1	abc
 | |
| drop table T1;
 | |
| create database mysqltest_LC2;
 | |
| use mysqltest_LC2;
 | |
| create table myUC (i int);
 | |
| show tables;
 | |
| Tables_in_mysqltest_LC2
 | |
| myUC
 | |
| insert into myUC values (1),(2),(3);
 | |
| select * from myUC;
 | |
| i
 | |
| 1
 | |
| 2
 | |
| 3
 | |
| use test;
 | |
| drop database mysqltest_LC2;
 | |
| create database mysqltest_LC2;
 | |
| use mysqltest_LC2;
 | |
| create table myUC (i int);
 | |
| 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;
 | |
| create database mysqltest_LC2;
 | |
| use mysqltest_LC2;
 | |
| create table myUC (i int);
 | |
| select TABLE_SCHEMA,TABLE_NAME FROM information_schema.TABLES
 | |
| where TABLE_SCHEMA ='mysqltest_LC2';
 | |
| TABLE_SCHEMA	TABLE_NAME
 | |
| mysqltest_LC2	myUC
 | |
| use test;
 | |
| drop database mysqltest_LC2;
 | |
| #
 | |
| # Bug #11758687: 50924: object names not resolved correctly 
 | |
| #   on lctn2 systems
 | |
| #
 | |
| CREATE DATABASE BUP_XPFM_COMPAT_DB2;
 | |
| CREATE TABLE BUP_XPFM_COMPAT_DB2.TABLE2 (c13 INT) DEFAULT CHARSET latin1;
 | |
| CREATE TABLE BUP_XPFM_COMPAT_DB2.table1 (c13 INT) DEFAULT CHARSET latin1;
 | |
| CREATE TABLE bup_xpfm_compat_db2.table3 (c13 INT) DEFAULT CHARSET latin1;
 | |
| CREATE TRIGGER BUP_XPFM_COMPAT_DB2.trigger1 AFTER INSERT
 | |
| ON BUP_XPFM_COMPAT_DB2.table1 FOR EACH ROW
 | |
| update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
 | |
| |
 | |
| CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TRIGGER2 AFTER INSERT
 | |
| ON BUP_XPFM_COMPAT_DB2.TABLE2 FOR EACH ROW
 | |
| update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
 | |
| |
 | |
| CREATE TRIGGER BUP_XPFM_COMPAT_DB2.TrigGer3 AFTER INSERT
 | |
| ON BUP_XPFM_COMPAT_DB2.TaBle3 FOR EACH ROW
 | |
| update BUP_XPFM_COMPAT_DB2.table1 set c13=12;
 | |
| |
 | |
| SELECT trigger_schema, trigger_name, event_object_table FROM
 | |
| INFORMATION_SCHEMA.TRIGGERS
 | |
| WHERE trigger_schema COLLATE utf8_bin = 'BUP_XPFM_COMPAT_DB2'
 | |
|   ORDER BY trigger_schema, trigger_name;
 | |
| trigger_schema	trigger_name	event_object_table
 | |
| BUP_XPFM_COMPAT_DB2	trigger1	table1
 | |
| BUP_XPFM_COMPAT_DB2	TRIGGER2	TABLE2
 | |
| BUP_XPFM_COMPAT_DB2	TrigGer3	table3
 | |
| DROP DATABASE BUP_XPFM_COMPAT_DB2;
 | |
| # End of 5.1 tests
 | |
| #
 | |
| # Test for bug #44738 "fill_schema_table_from_frm() opens tables without
 | |
| # lowercasing table name". Due to not properly normalizing table names
 | |
| # in lower_case_table_names modes in this function queries to I_S which
 | |
| # were executed through it left entries with incorrect key in table
 | |
| # definition cache. As result further queries to I_S that used this
 | |
| # function produced stale results in cases when table definition was
 | |
| # changed by a DDL statement. Also combination of this issue and a
 | |
| # similar problem in CREATE TABLE (it also has peeked into table
 | |
| # definition cache using non-normalized key) led to spurious
 | |
| # ER_TABLE_EXISTS_ERROR errors when one tried to create table with the
 | |
| # same name as a previously existing but dropped table.
 | |
| #
 | |
| drop database if exists mysqltest_UPPERCASE;
 | |
| drop table if exists t_bug44738_UPPERCASE;
 | |
| create database mysqltest_UPPERCASE;
 | |
| use mysqltest_UPPERCASE;
 | |
| select database();
 | |
| database()
 | |
| mysqltest_UPPERCASE
 | |
| create table t_bug44738_UPPERCASE (i int) comment='Old comment';
 | |
| create table t_bug44738_lowercase (i int) comment='Old comment';
 | |
| create table t_bug44738_UPPERCASE2 (i int) comment='Old comment';
 | |
| create table t_bug44738_lowercase2 (i int) comment='Old comment';
 | |
| select table_schema, table_name, table_comment from information_schema.tables
 | |
| where table_schema like 'mysqltest_%' and table_name like 't_bug44738_%'
 | |
|   order by table_name;
 | |
| table_schema	table_name	table_comment
 | |
| mysqltest_UPPERCASE	t_bug44738_lowercase	Old comment
 | |
| mysqltest_UPPERCASE	t_bug44738_lowercase2	Old comment
 | |
| mysqltest_UPPERCASE	t_bug44738_UPPERCASE	Old comment
 | |
| mysqltest_UPPERCASE	t_bug44738_UPPERCASE2	Old comment
 | |
| alter table t_bug44738_UPPERCASE comment='New comment';
 | |
| alter table t_bug44738_lowercase comment='New comment';
 | |
| alter table mysqltest_uppercase.t_bug44738_UPPERCASE2 comment='New comment';
 | |
| alter table mysqltest_UPPERCASE.t_bug44738_lowercase2 comment='New comment';
 | |
| # There should be no stale entries in TDC for our tables after the
 | |
| # above ALTER TABLE statements so new version of comments should be
 | |
| # returned by the below query to I_S.
 | |
| select table_schema, table_name, table_comment from information_schema.tables
 | |
| where table_schema like 'mysqltest_%' and table_name like 't_bug44738_%'
 | |
|   order by table_name;
 | |
| table_schema	table_name	table_comment
 | |
| mysqltest_UPPERCASE	t_bug44738_lowercase	New comment
 | |
| mysqltest_UPPERCASE	t_bug44738_lowercase2	New comment
 | |
| mysqltest_UPPERCASE	t_bug44738_UPPERCASE	New comment
 | |
| mysqltest_UPPERCASE	t_bug44738_UPPERCASE2	New comment
 | |
| drop database mysqltest_UPPERCASE;
 | |
| use test;
 | |
| # Let us check that the original test case which led to discovery
 | |
| # of this problem also works.
 | |
| create table t_bug44738_UPPERCASE (i int);
 | |
| select table_schema, table_name, table_comment from information_schema.tables
 | |
| where table_schema = 'test' and table_name like 't_bug44738_%';
 | |
| table_schema	table_name	table_comment
 | |
| test	t_bug44738_UPPERCASE	
 | |
| drop table t_bug44738_UPPERCASE;
 | |
| # After the above DROP TABLE there are no entries in TDC which correspond
 | |
| # to our table and therefore the below statement should succeed.
 | |
| create table t_bug44738_UPPERCASE (i int);
 | |
| drop table t_bug44738_UPPERCASE;
 | |
| # Finally, let us check that another issue which was exposed by
 | |
| # the original test case is solved. I.e. that the table is not 
 | |
| # created if there is an entry for it in TDC even though it was 
 | |
| # removed from disk.
 | |
| create table t_bug44738_UPPERCASE (i int) engine = myisam;
 | |
| # Load table definition in TDC.
 | |
| select table_schema, table_name, table_comment from information_schema.tables
 | |
| where table_schema = 'test' and table_name like 't_bug44738_%';
 | |
| table_schema	table_name	table_comment
 | |
| test	t_bug44738_UPPERCASE	
 | |
| # Simulate manual removal of the table.
 | |
| # Check that still there is an entry for table in TDC.
 | |
| show open tables like 't_bug44738_%';
 | |
| Database	Table	In_use	Name_locked
 | |
| test	t_bug44738_uppercase	0	0
 | |
| # So attempt to create table with the same name should fail.
 | |
| create table t_bug44738_UPPERCASE (i int);
 | |
| ERROR 42S01: Table 't_bug44738_uppercase' already exists
 | |
| # And should succeed after FLUSH TABLES.
 | |
| flush tables;
 | |
| create table t_bug44738_UPPERCASE (i int);
 | |
| drop table t_bug44738_UPPERCASE;
 | |
| #
 | |
| # Bug #21317 SHOW CREATE DATABASE does not obey to
 | |
| # lower_case_table_names
 | |
| #
 | |
| create database mysql_TEST;
 | |
| create table mysql_TEST.T1(a int);
 | |
| show databases like 'mysql%';
 | |
| Database (mysql%)
 | |
| mysql
 | |
| mysql_TEST
 | |
| show databases like 'mysql_T%';
 | |
| Database (mysql_T%)
 | |
| mysql_TEST
 | |
| show databases like 'mysql_t%';
 | |
| Database (mysql_t%)
 | |
| mysql_TEST
 | |
| show create database mysql_test;
 | |
| Database	Create Database
 | |
| mysql_test	CREATE DATABASE `mysql_test` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci */
 | |
| show create database mysql_TEST;
 | |
| Database	Create Database
 | |
| mysql_TEST	CREATE DATABASE `mysql_TEST` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci */
 | |
| show create table mysql_TEST.T1;
 | |
| Table	Create Table
 | |
| T1	CREATE TABLE `T1` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| show create table mysql_test.t1;
 | |
| Table	Create Table
 | |
| t1	CREATE TABLE `t1` (
 | |
|   `a` int(11) DEFAULT NULL
 | |
| ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
 | |
| drop database mysql_TEST;
 | |
| # MDEV-30765 SHOW TABLES not working properly with
 | |
| # lower_case_table_names=2
 | |
| #
 | |
| create database db1;
 | |
| use db1;
 | |
| # lowercase table name
 | |
| create table `a` (a int);
 | |
| # uppercase table name
 | |
| create table `B` (a int);
 | |
| create user 'mysqltest_1'@'localhost' identified by 'password';
 | |
| grant select, show view on db1.`a` to 'mysqltest_1'@'localhost';
 | |
| grant select, show view on db1.`B` to 'mysqltest_1'@'localhost';
 | |
| connect  conn1, localhost, mysqltest_1, password, db1;
 | |
| show tables;
 | |
| Tables_in_db1
 | |
| B
 | |
| a
 | |
| connection default;
 | |
| disconnect conn1;
 | |
| drop user 'mysqltest_1'@'localhost';
 | |
| drop tables a, B;
 | |
| drop database db1;
 | |
| #
 | |
| # MDEV-32025 Crashes in MDL_key::mdl_key_init with lower-case-table-names=2
 | |
| #
 | |
| CREATE DATABASE `#mysql50#D+b1`;
 | |
| ALTER DATABASE `#mysql50#D+b1` UPGRADE DATA DIRECTORY NAME;
 | |
| SHOW CREATE DATABASE `D+b1`;
 | |
| Database	Create Database
 | |
| D+b1	CREATE DATABASE `D+b1` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci */
 | |
| SHOW CREATE DATABASE `d+b1`;
 | |
| Database	Create Database
 | |
| d+b1	CREATE DATABASE `d+b1` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci */
 | |
| DROP DATABASE `D+b1`;
 | |
| CREATE DATABASE Db1;
 | |
| ALTER DATABASE Db1 DEFAULT CHARACTER SET utf8;
 | |
| SHOW CREATE DATABASE Db1;
 | |
| Database	Create Database
 | |
| Db1	CREATE DATABASE `Db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_uca1400_ai_ci */
 | |
| SHOW CREATE DATABASE db1;
 | |
| Database	Create Database
 | |
| db1	CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_uca1400_ai_ci */
 | |
| DROP DATABASE Db1;
 | |
| USE test;
 | |
| #
 | |
| # End of 10.4 tests
 | |
| #
 | |
| #
 | |
| # Start of 10.5 tests
 | |
| #
 | |
| #
 | |
| # MDEV-33110 HANDLER commands are case insensitive with lower-case-table-names=0
 | |
| #
 | |
| SET sql_mode=ORACLE;
 | |
| CREATE OR REPLACE PACKAGE test.pkg AS
 | |
| END TEST.PKG;
 | |
| $$
 | |
| DROP PACKAGE test.pkg;
 | |
| SET sql_mode=DEFAULT;
 | |
| #
 | |
| # End of 10.5 tests
 | |
| #
 | |
| #
 | |
| # Start of 11.2 tests
 | |
| #
 | |
| #
 | |
| # MDEV-32973 SHOW TABLES LIKE shows temporary tables with non-matching names
 | |
| #
 | |
| create temporary table t2 (a int);
 | |
| create temporary table T1 (a int);
 | |
| show tables;
 | |
| Tables_in_test
 | |
| t1
 | |
| t2
 | |
| show tables like 't1';
 | |
| Tables_in_test (t1)
 | |
| t1
 | |
| show tables like 'T1';
 | |
| Tables_in_test (T1)
 | |
| t1
 | |
| select table_name from information_schema.tables where table_schema='test'
 | |
|   and table_name='t1';
 | |
| table_name
 | |
| t1
 | |
| select table_name from information_schema.tables where table_schema='test'
 | |
|   and table_name='T1';
 | |
| table_name
 | |
| t1
 | |
| show tables like '_1';
 | |
| Tables_in_test (_1)
 | |
| t1
 | |
| show tables like 't%';
 | |
| Tables_in_test (t%)
 | |
| t1
 | |
| t2
 | |
| drop temporary table t2, T1;
 | |
| #
 | |
| # End of 11.2 tests
 | |
| #
 | |
| #
 | |
| # Start of 11.3 tests
 | |
| #
 | |
| #
 | |
| # MDEV-32026 lowercase_table2.test failures in 11.3
 | |
| #
 | |
| CREATE DATABASE Db1;
 | |
| SHOW CREATE DATABASE Db1;
 | |
| Database	Create Database
 | |
| Db1	CREATE DATABASE `Db1` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_uca1400_ai_ci */
 | |
| USE Db1;
 | |
| SELECT DATABASE();
 | |
| DATABASE()
 | |
| Db1
 | |
| DROP DATABASE Db1;
 | |
| CREATE DATABASE Db1;
 | |
| CREATE FUNCTION Db1.f1() RETURNS INT RETURN 10;
 | |
| CREATE FUNCTION db1.f2() RETURNS INT RETURN 10;
 | |
| SELECT db, name FROM mysql.proc WHERE name LIKE '^f[12]';
 | |
| db	name
 | |
| SELECT Db1.f1();
 | |
| Db1.f1()
 | |
| 10
 | |
| SELECT db1.f2();
 | |
| db1.f2()
 | |
| 10
 | |
| DROP DATABASE Db1;
 | |
| #
 | |
| # End of 11.3 tests
 | |
| #
 | 
