~drizzle-trunk/drizzle/development

1 by brian
clean slate
1
# This test is to verify that DROP TEMPORARY TABLE
2
# is automatically binlogged and sent to slave
3
# when a temp table is dropped by disconnection
4
# of a master's conection.
5
# So it does not apply to row-based, where we neither need
6
# nor do this automatic binlogging. And if we run this test
7
# in row-based, it hangs waiting for an offset which is never
8
# reached (the "sync_with_master 1"), logically.
9
10
--source include/have_binlog_format_mixed_or_statement.inc
11
source include/master-slave.inc;
12
save_master_pos;
13
connection slave;
14
sync_with_master;
15
connection master;
16
17
create table t2(n int);
18
create temporary table t1 (n int);
19
insert into t1 values(1),(2),(3);
20
insert into t2 select * from t1;
21
connection master1;
22
create temporary table t1 (n int);
23
insert into t1 values (4),(5);
24
insert into t2 select * from t1 as t10;
25
save_master_pos;
26
disconnect master;
27
connection slave;
28
#add 1 to catch drop table
29
sync_with_master 1;
30
connection master1;
31
insert into t2 values(6);
32
save_master_pos;
33
disconnect master1;
34
connection slave;
35
# same trick to go one more event
36
sync_with_master 1;
37
select * from t2;
38
show status like 'Slave_open_temp_tables';
39
#
40
# Clean up
41
#
42
connect (master2,localhost,root,,);
43
connection master2;
44
45
# We will get a warning for t1 as this is a temporary table that doesn't
46
# exist in this connection.
47
48
drop table if exists t1,t2;
49
save_master_pos;
50
connection slave;
51
sync_with_master;
52
53
# End of 4.1 tests