summaryrefslogtreecommitdiff
path: root/mysql-test/suite/rpl/t/rpl_drop_db.test
blob: 372afaa63c6395d061ab83b407b0873ce4bb7ba8 (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
# test case for BUG#4680 -- if there are extra files in the db directory
# dropping the db on the master causes replication problems

-- source include/master-slave.inc
connection master;

--disable_warnings
drop database if exists mysqltest1;
--enable_warnings
create database mysqltest1;
create table mysqltest1.t1 (n int);
insert into mysqltest1.t1 values (1);
select * from mysqltest1.t1 into outfile 'mysqltest1/f1.txt';
create table mysqltest1.t2 (n int);
create table mysqltest1.t3 (n int);
--replace_result \\ / 66 39 93 39 17 39 247 39 41 39 "File exists" "Directory not empty"
--error ER_DB_DROP_RMDIR
drop database mysqltest1;
use mysqltest1;
show tables;

# test the branch of the code that deals with the query buffer overflow

--disable_query_log
let $1=50;
while ($1)
{
  eval create table mysqltest1.mysqltest_long_table_name$1 (n int);
  dec $1;
}
--enable_query_log

--replace_result \\ / 66 39 93 39 17 39 247 39  41 39 "File exists" "Directory not empty"
--error ER_DB_DROP_RMDIR
drop database mysqltest1;
use mysqltest1;
show tables;
use test;
create table t1 (n int);
insert into t1 values (1234);
sync_slave_with_master;

connection slave;
use mysqltest1;
show tables;
use test;
select * from t1;

#cleanup
connection master;

# Remove the "extra" file created above
let $MYSQLD_DATADIR= `select @@datadir`;
remove_file $MYSQLD_DATADIR/mysqltest1/f1.txt;

use test;
drop table t1;
drop database mysqltest1;

sync_slave_with_master;

--source include/rpl_end.inc