summaryrefslogtreecommitdiffstats
path: root/mysql-test/main/schema.result
blob: 1f130db738cdbf12ba0202138159c3ce671f17cf (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
create schema foo;
show create schema foo;
Database	Create Database
foo	CREATE DATABASE `foo` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */
show schemas;
Database
foo
information_schema
mtr
mysql
performance_schema
sys
test
drop schema foo;
#
# Bug #48940 MDL deadlocks against mysql_rm_db
#
connect con2, localhost, root;
connection default;
CREATE SCHEMA schema1;
CREATE TABLE schema1.t1 (a INT);
START TRANSACTION;
INSERT INTO schema1.t1 VALUES (1);
connection con2;
DROP SCHEMA schema1;
connection default;
ALTER SCHEMA schema1 DEFAULT CHARACTER SET utf8;
Got one of the listed errors
COMMIT;
connection con2;
connection default;
disconnect con2;
#
# Bug #49988 MDL deadlocks with mysql_create_db, reload_acl_and_cache
#
connect  con2, localhost, root;
connection default;
CREATE SCHEMA schema1;
CREATE TABLE schema1.t1 (id INT);
LOCK TABLE schema1.t1 WRITE;
connection con2;
DROP SCHEMA schema1;
connection default;
# CREATE SCHEMA used to give a deadlock.
# Now we prohibit CREATE SCHEMA in LOCK TABLES mode.
CREATE SCHEMA IF NOT EXISTS schema1;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
# UNLOCK TABLES so DROP SCHEMA can continue.
UNLOCK TABLES;
connection con2;
connection default;
disconnect con2;
#
# Bug#54360 Deadlock DROP/ALTER/CREATE DATABASE with open HANDLER
#
CREATE DATABASE db1;
CREATE TABLE db1.t1 (a INT);
INSERT INTO db1.t1 VALUES (1), (2);
connect  con1, localhost, root;
HANDLER db1.t1 OPEN;
connection default;
# Sending:
DROP DATABASE db1;
connect  con2, localhost, root;
connection con1;
CREATE DATABASE db2;
ALTER DATABASE db2 DEFAULT CHARACTER SET utf8;
DROP DATABASE db2;
HANDLER t1 CLOSE;
connection default;
# Reaping: DROP DATABASE db1
disconnect con1;
disconnect con2;
#
# Tests for increased CREATE/ALTER/DROP DATABASE concurrency with
# database name locks.
# 
connect  con2, localhost, root;
connect  con3, localhost, root;
connection default;
CREATE DATABASE db1;
CREATE TABLE db1.t1 (id INT);
START TRANSACTION;
INSERT INTO db1.t1 VALUES (1);
connection con2;
# DROP DATABASE should block due to the active transaction
# Sending:
DROP DATABASE db1;
connection con3;
# But it should still be possible to CREATE/ALTER/DROP other databases.
CREATE DATABASE db2;
ALTER DATABASE db2 DEFAULT CHARACTER SET utf8;
DROP DATABASE db2;
connection default;
# End the transaction so DROP DATABASE db1 can continue
COMMIT;
connection con2;
# Reaping: DROP DATABASE db1
connection default;
disconnect con2;
disconnect con3;