1
by brian
clean slate |
1 |
# File for specialities regarding replication from or to InnoDB
|
2 |
# tables.
|
|
3 |
||
4 |
source include/master-slave.inc; |
|
5 |
source include/have_innodb.inc; |
|
6 |
||
7 |
#
|
|
8 |
# Bug#11401: Load data infile 'REPLACE INTO' fails on slave.
|
|
9 |
#
|
|
10 |
connection master; |
|
11 |
CREATE TABLE t4 ( |
|
12 |
id INT(5) unsigned NOT NULL auto_increment, |
|
13 |
name varchar(15) NOT NULL default '', |
|
14 |
number varchar(35) NOT NULL default 'default', |
|
15 |
PRIMARY KEY (id), |
|
16 |
UNIQUE KEY unique_rec (name,number) |
|
17 |
) ENGINE=InnoDB; |
|
18 |
||
19 |
--disable_warnings |
|
20 |
LOAD DATA |
|
21 |
INFILE '../std_data_ln/loaddata_pair.dat' |
|
22 |
REPLACE INTO TABLE t4 |
|
23 |
(name,number); |
|
24 |
--enable_warnings |
|
25 |
SELECT * FROM t4; |
|
26 |
||
27 |
sync_slave_with_master; |
|
28 |
SELECT * FROM t4; |
|
29 |
||
30 |
connection master; |
|
31 |
--disable_warnings |
|
32 |
LOAD DATA |
|
33 |
INFILE '../std_data_ln/loaddata_pair.dat' |
|
34 |
REPLACE INTO TABLE t4 |
|
35 |
(name,number); |
|
36 |
--enable_warnings |
|
37 |
SELECT * FROM t4; |
|
38 |
||
39 |
sync_slave_with_master; |
|
40 |
SELECT * FROM t4; |
|
41 |
||
42 |
connection master; |
|
43 |
--disable_query_log |
|
44 |
DROP TABLE t4; |
|
45 |
--enable_query_log |
|
46 |
sync_slave_with_master; |
|
47 |
connection master; |
|
48 |
||
49 |
# End of 4.1 tests
|
|
50 |
||
51 |
#
|
|
52 |
# Bug #26418: Slave out of sync after CREATE/DROP TEMPORARY TABLE + ROLLBACK
|
|
53 |
# on master
|
|
54 |
#
|
|
55 |
#Note Matthias: to be merged to rpl_ddl.test
|
|
56 |
||
57 |
--source include/not_ndb_default.inc |
|
58 |
||
59 |
FLUSH LOGS; |
|
60 |
sync_slave_with_master; |
|
61 |
FLUSH LOGS; |
|
62 |
connection master; |
|
63 |
let $engine_type= "InnoDB"; |
|
64 |
||
65 |
--disable_warnings |
|
66 |
DROP DATABASE IF EXISTS mysqltest1; |
|
67 |
--enable_warnings |
|
68 |
||
69 |
CREATE DATABASE mysqltest1; |
|
70 |
CREATE TEMPORARY TABLE mysqltest1.tmp (f1 BIGINT); |
|
71 |
eval CREATE TABLE mysqltest1.t1 (f1 BIGINT) ENGINE=$engine_type; |
|
72 |
SET AUTOCOMMIT = 0; |
|
73 |
||
74 |
sync_slave_with_master; |
|
75 |
--echo -------- switch to slave -------- |
|
76 |
connection slave; |
|
77 |
SHOW CREATE TABLE mysqltest1.t1; |
|
78 |
||
79 |
--echo -------- switch to master -------- |
|
80 |
connection master; |
|
81 |
INSERT INTO mysqltest1.t1 SET f1= 1; |
|
82 |
DROP TEMPORARY TABLE mysqltest1.tmp; |
|
83 |
ROLLBACK; |
|
84 |
--error ER_NO_SUCH_TABLE |
|
85 |
SHOW CREATE TABLE mysqltest1.tmp; |
|
86 |
# Must return no rows here
|
|
87 |
SELECT COUNT(*) FROM mysqltest1.t1; |
|
88 |
||
89 |
INSERT INTO mysqltest1.t1 SET f1= 2; |
|
90 |
CREATE TEMPORARY TABLE mysqltest1.tmp2(a INT); |
|
91 |
ROLLBACK; |
|
92 |
SHOW CREATE TABLE mysqltest1.tmp2; |
|
93 |
# Must return no rows here
|
|
94 |
SELECT COUNT(*) FROM mysqltest1.t1; |
|
95 |
||
96 |
sync_slave_with_master; |
|
97 |
--echo -------- switch to slave -------- |
|
98 |
connection slave; |
|
99 |
--error ER_NO_SUCH_TABLE |
|
100 |
SHOW CREATE TABLE mysqltest1.tmp; |
|
101 |
--error ER_NO_SUCH_TABLE |
|
102 |
SHOW CREATE TABLE mysqltest1.tmp2; |
|
103 |
# has two rows here : as the default is MyISAM and
|
|
104 |
# it can't be rolled back by the master's ROLLBACK.
|
|
105 |
SELECT COUNT(*) FROM mysqltest1.t1; |
|
106 |
FLUSH LOGS; |
|
107 |
||
108 |
--echo -------- switch to master -------- |
|
109 |
connection master; |
|
110 |
FLUSH LOGS; |
|
111 |
||
112 |
DROP DATABASE mysqltest1; |
|
113 |
-- source include/master-slave-end.inc |
|
114 |
||
115 |
--echo End of 5.1 tests |