~ubuntu-branches/ubuntu/natty/mysql-5.1/natty-proposed

« back to all changes in this revision

Viewing changes to mysql-test/extra/rpl_tests/rpl_loaddata.test

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 08:30:45 UTC
  • mfrom: (1.4.1)
  • Revision ID: package-import@ubuntu.com-20120222083045-2rd53r4bnyx7qus4
Tags: 5.1.61-0ubuntu0.11.04.1
* SECURITY UPDATE: Update to 5.1.61 to fix multiple security issues
  (LP: #937869)
  - http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html
  - CVE-2011-2262
  - CVE-2012-0075
  - CVE-2012-0112
  - CVE-2012-0113
  - CVE-2012-0114
  - CVE-2012-0115
  - CVE-2012-0116
  - CVE-2012-0117
  - CVE-2012-0118
  - CVE-2012-0119
  - CVE-2012-0120
  - CVE-2012-0484
  - CVE-2012-0485
  - CVE-2012-0486
  - CVE-2012-0487
  - CVE-2012-0488
  - CVE-2012-0489
  - CVE-2012-0490
  - CVE-2012-0491
  - CVE-2012-0492
  - CVE-2012-0493
  - CVE-2012-0494
  - CVE-2012-0495
  - CVE-2012-0496

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Requires statement logging
2
 
 
3
1
# See if replication of a "LOAD DATA in an autoincrement column"
4
2
# Honours autoincrement values
5
3
# i.e. if the master and slave have the same sequence
14
11
# check if START SLAVE, RESET SLAVE, CHANGE MASTER reset Last_slave_error and
15
12
# Last_slave_errno in SHOW SLAVE STATUS (1st and 3rd commands did not: bug 986)
16
13
 
 
14
-- source include/have_binlog_format_statement.inc
17
15
-- source include/master-slave.inc
18
16
source include/have_innodb.inc;
19
17
 
20
 
connection slave;
21
 
reset master;
22
 
connection master;
23
 
 
24
18
# MTR is not case-sensitive.
25
19
let $lower_stmt_head= load data;
26
20
let $UPPER_STMT_HEAD= LOAD DATA;
45
39
create table t3 (day date,id int(9),category enum('a','b','c'),name varchar(60));
46
40
insert into t3 select * from t2;
47
41
 
48
 
save_master_pos;
49
 
connection slave;
50
 
sync_with_master;
 
42
sync_slave_with_master;
51
43
 
52
44
select * from t1;
53
45
select * from t3;
59
51
drop table t3;
60
52
create table t1(a int, b int, unique(b));
61
53
 
62
 
save_master_pos;
63
 
connection slave;
64
 
sync_with_master;
 
54
sync_slave_with_master;
65
55
 
66
56
# See if slave stops when there's a duplicate entry for key error in LOAD DATA
67
57
 
72
62
 
73
63
save_master_pos;
74
64
connection slave;
75
 
# The SQL slave thread should be stopped now.
76
 
--source include/wait_for_slave_sql_to_stop.inc
 
65
# 1062 = ER_DUP_ENTRY
 
66
call mtr.add_suppression("Slave SQL.*Error .Duplicate entry .10. for key .b.. on query.* Error_code: 1062");
 
67
call mtr.add_suppression("Slave SQL.*Query caused different errors on master and slave.*Error on master:.*error code=1062.*Error on slave:.*Error_code: 0");
 
68
--let $slave_sql_errno= 1062
 
69
--source include/wait_for_slave_sql_error_and_skip.inc
77
70
 
78
71
# Skip the bad event and see if error is cleared in SHOW SLAVE STATUS by START
79
72
# SLAVE, even though we are not executing any event (as sql_slave_skip_counter
80
73
# takes us directly to the end of the relay log).
81
74
 
82
 
set global sql_slave_skip_counter=1;
83
 
start slave;
84
75
sync_with_master;
85
 
let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
86
 
echo Last_SQL_Errno=$last_error;
87
 
let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
88
 
echo Last_SQL_Error;
89
 
echo $last_error;
 
76
--source include/check_slave_no_error.inc
90
77
 
91
78
# Trigger error again to test CHANGE MASTER
92
79
 
100
87
# The SQL slave thread should be stopped now. 
101
88
# Exec_Master_Log_Pos should point to the start of Execute event
102
89
# for last load data.
103
 
--source include/wait_for_slave_sql_to_stop.inc
 
90
# 1062 = ER_DUP_ENTRY
 
91
--let $slave_sql_errno= 1062
 
92
--source include/wait_for_slave_sql_error.inc
104
93
 
105
94
# CHANGE MASTER and see if error is cleared in SHOW SLAVE STATUS.
106
 
stop slave;
 
95
--source include/stop_slave_io.inc
107
96
change master to master_user='test';
108
97
change master to master_user='root';
109
 
let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
110
 
echo Last_SQL_Errno=$last_error;
111
 
let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
112
 
echo Last_SQL_Error;
113
 
echo $last_error;
 
98
--source include/check_slave_no_error.inc
114
99
 
115
100
# Trigger error again to test RESET SLAVE
116
101
 
125
110
save_master_pos;
126
111
connection slave;
127
112
# The SQL slave thread should be stopped now.
128
 
--source include/wait_for_slave_sql_to_stop.inc
 
113
# 1062 = ER_DUP_ENTRY
 
114
--let $slave_sql_errno= 1062
 
115
--source include/wait_for_slave_sql_error.inc
129
116
 
130
117
# RESET SLAVE and see if error is cleared in SHOW SLAVE STATUS.
131
118
stop slave;
132
119
reset slave;
133
 
let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Errno, 1);
134
 
echo Last_SQL_Errno=$last_error;
135
 
let $last_error= query_get_value(SHOW SLAVE STATUS, Last_SQL_Error, 1);
136
 
echo Last_SQL_Error;
137
 
echo $last_error;
 
120
--source include/check_slave_no_error.inc
138
121
 
139
122
# Finally, see if logging is done ok on master for a failing LOAD DATA INFILE
140
123
 
165
148
connection slave;
166
149
--source include/wait_for_slave_sql_to_stop.inc
167
150
drop table t1, t2;
 
151
--source include/stop_slave_io.inc
168
152
connection master;
169
153
drop table t1, t2;
170
154
 
178
162
 
179
163
# BUG#48297: Schema name is ignored when LOAD DATA is written into binlog,
180
164
# replication aborts
 
165
-- let $rpl_only_running_threads= 1
 
166
-- source include/rpl_reset.inc
181
167
 
182
168
-- let $db1= b48297_db1
183
169
-- let $db2= b42897_db2
239
224
-- sync_slave_with_master
240
225
-- eval use $db1
241
226
 
242
 
let $diff_table_1=master:$db1.t1;
243
 
let $diff_table_2=slave:$db1.t1;
 
227
let $diff_tables= master:$db1.t1, slave:$db1.t1;
244
228
source include/diff_tables.inc;
245
229
 
246
230
-- connection master
251
235
-- sync_slave_with_master
252
236
 
253
237
# BUG#49479: LOAD DATA INFILE is binlogged without escaping field names
 
238
-- source include/rpl_reset.inc
254
239
-- connection master
255
240
use test;
256
241
CREATE TABLE t1 (`key` TEXT, `text` TEXT);
262
246
-- sync_slave_with_master
263
247
-- connection master
264
248
DROP TABLE t1;
265
249
 
266
250
# End of 4.1 tests
 
251
--source include/rpl_end.inc