375 lines
11 KiB
Plaintext
375 lines
11 KiB
Plaintext
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_0900_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
|
|
TEST_$1
|
|
DROP DATABASE `test_$1`;
|
|
CREATE TABLE T1 (a int) engine=XENGINE;
|
|
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=XENGINE DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_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 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:
|
|
Warning 1831 Duplicate index 'A_2' defined on the table 'test.t1'. 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);
|
|
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;
|
|
create table t_bug44738_UPPERCASE (i int) comment='Old comment';
|
|
create table t_bug44738_lowercase (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_UPPERCASE Old comment
|
|
alter table t_bug44738_UPPERCASE comment='New comment';
|
|
alter table t_bug44738_lowercase 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_UPPERCASE 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;
|
|
# BUG#13702397 - 64211: 'CREATE TABLE ... LIKE ...'
|
|
# FAILS TO KEEP CASE
|
|
#
|
|
CREATE TABLE TestTable1 (a int);
|
|
SHOW TABLES;
|
|
Tables_in_test
|
|
TestTable1
|
|
CREATE TABLE TestTable2 LIKE TestTable1;
|
|
SHOW TABLES;
|
|
Tables_in_test
|
|
TestTable1
|
|
TestTable2
|
|
DROP TABLE TestTable1, TestTable2;
|
|
#
|
|
# Bug #19894615: CRASH WHEN CREATING A TABLE IN A SCHEMA THAT
|
|
# WAS DROPPED AND CREATED AGAIN
|
|
#
|
|
CREATE SCHEMA S1;
|
|
DROP SCHEMA S1;
|
|
CREATE SCHEMA S1;
|
|
CREATE TABLE S1.t1(i INT);
|
|
DROP TABLE S1.t1;
|
|
DROP SCHEMA S1;
|
|
#
|
|
# Bug #18895960: ASSERT IN OBJECT_CACHE.H LOADING_COMPLETED()
|
|
# IN MYSQL-TRUNK-WL6378
|
|
#
|
|
CREATE TABLE T1 (i INT);
|
|
RENAME TABLE T1 to T2;
|
|
RENAME TABLE T2 to T1;
|
|
SELECT * FROM T1;
|
|
i
|
|
DROP TABLE T1;
|
|
CREATE TABLE T1 (i INT) ENGINE= MyISAM;
|
|
CREATE TABLE T2 LIKE T1;
|
|
ALTER TABLE T2 ENGINE= XENGINE;
|
|
DROP TABLE T2;
|
|
RENAME TABLE T1 to T2;
|
|
SELECT * FROM T2;
|
|
i
|
|
DROP TABLE T2;
|
|
#
|
|
# Bug#24666169: I_S.TABLE_CONSTRAINTS.CONSTRAINT_NAME IS NOT UPDATED
|
|
# AFTER RENAME TABLE
|
|
#
|
|
CREATE TABLE t1(a INT PRIMARY KEY);
|
|
CREATE TABLE T2(a INT, FOREIGN KEY(a) REFERENCES t1(a));
|
|
SELECT constraint_name FROM information_schema.referential_constraints
|
|
WHERE table_name = 'T2' ORDER BY constraint_name;
|
|
CONSTRAINT_NAME
|
|
t2_ibfk_1
|
|
SELECT constraint_name FROM information_schema.table_constraints
|
|
WHERE table_name = 'T2' ORDER BY constraint_name;
|
|
constraint_name
|
|
t2_ibfk_1
|
|
RENAME TABLE T2 TO T3;
|
|
SELECT constraint_name FROM information_schema.referential_constraints
|
|
WHERE table_name = 'T3' ORDER BY constraint_name;
|
|
CONSTRAINT_NAME
|
|
t3_ibfk_1
|
|
SELECT constraint_name FROM information_schema.table_constraints
|
|
WHERE table_name = 'T3' ORDER BY constraint_name;
|
|
constraint_name
|
|
t3_ibfk_1
|
|
RENAME TABLE t3 TO T4;
|
|
SELECT constraint_name FROM information_schema.referential_constraints
|
|
WHERE table_name = 'T4' ORDER BY constraint_name;
|
|
CONSTRAINT_NAME
|
|
t4_ibfk_1
|
|
SELECT constraint_name FROM information_schema.table_constraints
|
|
WHERE table_name = 'T4' ORDER BY constraint_name;
|
|
constraint_name
|
|
t4_ibfk_1
|
|
DROP TABLE T4;
|
|
CREATE TABLE T2(a INT, CONSTRAINT T2_ibfk_1 FOREIGN KEY(a) REFERENCES t1(a));
|
|
SELECT constraint_name FROM information_schema.referential_constraints
|
|
WHERE table_name = 'T2' ORDER BY constraint_name;
|
|
CONSTRAINT_NAME
|
|
T2_ibfk_1
|
|
SELECT constraint_name FROM information_schema.table_constraints
|
|
WHERE table_name = 'T2' ORDER BY constraint_name;
|
|
constraint_name
|
|
T2_ibfk_1
|
|
RENAME TABLE T2 TO T3;
|
|
SELECT constraint_name FROM information_schema.referential_constraints
|
|
WHERE table_name = 'T3' ORDER BY constraint_name;
|
|
CONSTRAINT_NAME
|
|
T2_ibfk_1
|
|
SELECT constraint_name FROM information_schema.table_constraints
|
|
WHERE table_name = 'T3' ORDER BY constraint_name;
|
|
constraint_name
|
|
T2_ibfk_1
|
|
ALTER TABLE T3 DROP FOREIGN KEY t2_ibfk_1;
|
|
DROP TABLE T3, t1;
|
|
#
|
|
# BUG#28351038 - MYSQL WORKBENCH ERROR GETTING DDL FOR OBJECT ON TABLES
|
|
# WITH AN UPPERCASE LETTER.
|
|
#
|
|
CREATE TABLE `T1` (
|
|
`id` INT NOT NULL AUTO_INCREMENT,
|
|
`creation_utc` DATETIME NOT NULL,
|
|
PRIMARY KEY (`id`));
|
|
CREATE TRIGGER `test`.`test_table_t1_before_insert` BEFORE INSERT ON `T1`
|
|
FOR EACH ROW
|
|
BEGIN
|
|
SET NEW.creation_utc = UTC_TIMESTAMP();
|
|
END
|
|
$$
|
|
# The SHOW CREATE TRIGGER command fails without the fix.
|
|
SHOW CREATE TRIGGER `test`.`test_table_t1_before_insert`;
|
|
Trigger sql_mode SQL Original Statement character_set_client collation_connection Database Collation Created
|
|
test_table_t1_before_insert ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION CREATE DEFINER=`root`@`localhost` TRIGGER `test_table_t1_before_insert` BEFORE INSERT ON `t1` FOR EACH ROW BEGIN
|
|
SET NEW.creation_utc = UTC_TIMESTAMP();
|
|
END utf8mb4 utf8mb4_0900_ai_ci utf8mb4_0900_ai_ci #
|
|
DROP TABLE `T1`;
|