3
drop table if exists t1;
4
drop database if exists mysqltest;
5
# If earlier test failed
6
drop database if exists client_test_db;
11
create table t1(n int);
12
insert into t1 values(1);
13
create temporary table t1( n int);
14
insert into t1 values(2);
16
create table t1(n int);
20
# now test for a bug in drop database - it is important that the name
21
# of the table is the same as the name of the database - in the original
22
# code this triggered a bug
23
create database mysqltest;
24
drop database if exists mysqltest;
25
create database mysqltest;
26
create table mysqltest.mysqltest (n int);
27
insert into mysqltest.mysqltest values (4);
28
select * from mysqltest.mysqltest;
30
drop database if exists mysqltest;
32
create database mysqltest;
35
# drop many tables - bug#3891
36
# we'll do it in mysqltest db, to be able to use longer table names
37
# (tableN instead on tN)
41
drop table table1, table2, table3, table4, table5, table6,
42
table7, table8, table9, table10, table11, table12, table13,
43
table14, table15, table16, table17, table18, table19, table20,
44
table21, table22, table23, table24, table25, table26, table27,
48
drop table table1, table2, table3, table4, table5, table6,
49
table7, table8, table9, table10, table11, table12, table13,
50
table14, table15, table16, table17, table18, table19, table20,
51
table21, table22, table23, table24, table25, table26, table27,
52
table28, table29, table30;
55
drop database mysqltest;
57
# test drop/create database and FLUSH TABLES WITH READ LOCK
58
flush tables with read lock;
60
create database mysqltest;
62
create database mysqltest;
64
flush tables with read lock;
66
drop database mysqltest;
68
drop database mysqltest;
71
drop database mysqltest;
73
# test create table and FLUSH TABLES WITH READ LOCK
75
flush tables with read lock;
77
create table t1(n int);
79
create table t1(n int);
87
# Test for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes
88
# server to crash". Crash (caused by failed assertion in 5.0 or by null
89
# pointer dereference in 5.1) happened when one ran SHOW OPEN TABLES
90
# while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
91
# or any other command that takes name-lock) in other connection.
93
# Also includes test for similar bug#12212 "Crash that happens during
94
# removing of database name from cache" reappeared in 5.1 as bug#19403
95
# In its case crash happened when one concurrently executed DROP DATABASE
96
# and one of name-locking command.
99
drop database if exists mysqltest;
100
drop table if exists t1;
102
create table t1 (i int);
103
create database mysqltest;
105
connect (addconroot1, localhost, root,,);
107
connect (addconroot2, localhost, root,,);
108
# Server should not crash in any of the following statements
112
--send drop database mysqltest
116
connection addconroot1;
118
connection addconroot2;
120
disconnect addconroot2;
121
--source include/wait_until_disconnected.inc
122
connection addconroot1;
123
disconnect addconroot1;
124
--source include/wait_until_disconnected.inc
128
# Bug#25858 Some DROP TABLE under LOCK TABLES can cause deadlocks
132
drop table if exists t1,t2;
134
create table t1 (a int);
135
create table t2 (a int);
137
--error ER_TABLE_NOT_LOCKED
139
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
143
connect (addconroot, localhost, root,,);
145
create table t1 (i int);
146
create table t2 (i int);
148
connection addconroot;
150
--error ER_TABLE_NOT_LOCKED
153
--error ER_TABLE_NOT_LOCKED_FOR_WRITE
155
disconnect addconroot;
160
--echo End of 5.0 tests
163
# Bug#30152 MySQLD crash duing alter table causes DROP DATABASE to FAIL due to temp file
165
create database mysql_test;
166
create table mysql_test.t1(f1 int);
167
create table mysql_test.`#sql-347f_7` (f1 int);
168
create table mysql_test.`#sql-347f_8` (f1 int);
169
drop table mysql_test.`#sql-347f_8`;
170
let $MYSQLD_DATADIR= `select @@datadir`;
171
copy_file $MYSQLD_DATADIR/mysql_test/t1.frm $MYSQLD_DATADIR/mysql_test/#sql-347f_6.frm;
172
drop database mysql_test;
174
###########################################################################
178
--echo # -- Bug#29958: Weird message on DROP DATABASE if mysql.proc does not
183
DROP DATABASE IF EXISTS mysql_test;
186
CREATE DATABASE mysql_test;
188
let $MYSQLD_DATADIR= `select @@datadir`;
190
--let $proc_frm = $MYSQLD_DATADIR/mysql/proc.frm
191
--let $proc_MYD = $MYSQLD_DATADIR/mysql/proc.MYD
192
--let $proc_MYI = $MYSQLD_DATADIR/mysql/proc.MYI
194
--let $copy_of_proc_frm = $MYSQLTEST_VARDIR/tmp/bug29958.copy.frm
195
--let $copy_of_proc_MYD = $MYSQLTEST_VARDIR/tmp/bug29958.copy.MYD
196
--let $copy_of_proc_MYI = $MYSQLTEST_VARDIR/tmp/bug29958.copy.MYI
198
--copy_file $proc_frm $copy_of_proc_frm
199
--copy_file $proc_MYD $copy_of_proc_MYD
200
--copy_file $proc_MYI $copy_of_proc_MYI
202
DROP TABLE mysql.proc;
204
DROP DATABASE mysql_test;
206
--copy_file $copy_of_proc_frm $proc_frm
207
--copy_file $copy_of_proc_MYD $proc_MYD
208
--copy_file $copy_of_proc_MYI $proc_MYI
210
--remove_file $copy_of_proc_frm
211
--remove_file $copy_of_proc_MYD
212
--remove_file $copy_of_proc_MYI
216
--echo # -- End of Bug#29958.
219
###########################################################################
223
# Bug#26703: DROP DATABASE fails if database contains a #mysql50# table with backticks
225
create database mysqltestbug26703;
226
use mysqltestbug26703;
227
create table `#mysql50#abc``def` ( id int );
228
--error ER_TOO_LONG_IDENT
229
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
230
create table `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
231
create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
232
--error ER_TOO_LONG_IDENT
233
create table `#mysql50#aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa` (a int);
235
drop database mysqltestbug26703;
237
--echo End of 5.1 tests
239
###########################################################################
243
--echo # -- Bug#37431 (DROP TABLE does not report errors correctly).
247
DROP TABLE IF EXISTS t1;
250
--error ER_BAD_TABLE_ERROR
257
--echo # -- End of Bug#37431.
262
--echo # Bug#54282 Crash in MDL_context::upgrade_shared_lock_to_exclusive
266
DROP TABLE IF EXISTS t1;
269
CREATE TABLE t1 (a INT);
271
--error ER_NONUNIQ_TABLE
278
--echo # BUG#34750: Print database name in Unknown Table error message
282
--echo # Test error message when droping table/view
284
--error ER_BAD_TABLE_ERROR
286
--error ER_BAD_TABLE_ERROR
287
DROP TABLE table1,table2;
288
--error ER_BAD_TABLE_ERROR
289
DROP VIEW view1,view2,view3,view4;
291
DROP TABLE IF EXISTS table1;
292
DROP TABLE IF EXISTS table1,table2;
293
DROP VIEW IF EXISTS view1,view2,view3,view4;
296
--echo # Test error message when trigger does not find table
298
CREATE TABLE table1(a int);
299
CREATE TABLE table2(b int);
301
# Database name is only available (for printing) if specified in
302
# the trigger definition
303
CREATE TRIGGER trg1 AFTER INSERT ON table1
305
INSERT INTO table2 SELECT t.notable.*;
307
--error ER_BAD_TABLE_ERROR
308
INSERT INTO table1 VALUES (1);
310
DROP TABLE table1,table2;
312
--echo # End BUG#34750