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

« back to all changes in this revision

Viewing changes to mysql-test/suite/rpl/t/rpl_idempotency.test

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-02-22 14:16:05 UTC
  • mto: This revision was merged to the branch mainline in revision 20.
  • Revision ID: package-import@ubuntu.com-20120222141605-nxlu9yzc6attylc2
Tags: upstream-5.1.61
ImportĀ upstreamĀ versionĀ 5.1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
source include/have_innodb.inc;
9
9
 
10
10
# Add suppression for expected warning(s) in slaves error log
11
 
call mtr.add_suppression("Slave: Can't find record in 't.' Error_code: 1032");
12
 
call mtr.add_suppression("Slave: Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
13
 
call mtr.add_suppression("Slave: Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
 
11
call mtr.add_suppression("Can.t find record in .t[12].* Error_code: 1032");
 
12
call mtr.add_suppression("Cannot delete or update a parent row: a foreign key constraint fails .* Error_code: 1451");
 
13
call mtr.add_suppression("Cannot add or update a child row: a foreign key constraint fails .* Error_code: 1452");
 
14
call mtr.add_suppression("Slave SQL.*Could not execute Write_rows event on table test.* Duplicate entry .1. for key .PRIMARY.* Error_code: 1062");
14
15
 
15
16
SET @old_slave_exec_mode= @@global.slave_exec_mode;
16
17
 
37
38
sync_slave_with_master;
38
39
SELECT * FROM t1 ORDER BY a;
39
40
SELECT * FROM t2 ORDER BY a;
40
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
41
 
disable_query_log;
42
 
eval SELECT "$last_error" AS Last_SQL_Error;
43
 
enable_query_log;
 
41
--source include/check_slave_no_error.inc
44
42
 
45
43
# An insert of a row that already exists. Since we are replacing the
46
44
# row if it already exists, the most apropriate representation is
53
51
SELECT * FROM t1 ORDER BY a;
54
52
sync_slave_with_master;
55
53
SELECT * FROM t1 ORDER BY a;
56
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
57
 
disable_query_log;
58
 
eval SELECT "$last_error" AS Last_SQL_Error;
59
 
enable_query_log;
 
54
--source include/check_slave_no_error.inc
60
55
 
61
56
# BUG#19958: RBR idempotency issue for UPDATE and DELETE
62
57
 
80
75
sync_slave_with_master;
81
76
SELECT * FROM t1 ORDER BY a;
82
77
SELECT * FROM t2 ORDER BY a;
83
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
84
 
disable_query_log;
85
 
eval SELECT "$last_error" AS Last_SQL_Error;
86
 
enable_query_log;
 
78
--source include/check_slave_no_error.inc
87
79
 
88
80
connection master;
89
81
DROP TABLE t1, t2;
211
203
 
212
204
--echo *** slave must stop (Trying to delete a referenced foreing key)
213
205
connection slave;
214
 
source include/wait_for_slave_sql_to_stop.inc;
215
 
 
216
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
217
 
disable_query_log;
218
 
eval SELECT "$last_error" AS Last_SQL_Error;
219
 
enable_query_log;
 
206
# 1451 = ER_ROW_ID_REFERENCED_2
 
207
--let $slave_sql_errno= 1451
 
208
--source include/wait_for_slave_sql_error.inc
220
209
 
221
210
select * from ti1 order by b /* must be (1),(2),(3) - not deleted */;
222
211
set foreign_key_checks= 0;
245
234
 
246
235
--echo *** slave must stop (Trying to insert an invalid foreign key)
247
236
connection slave;
248
 
source include/wait_for_slave_sql_to_stop.inc;
249
 
 
250
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
251
 
disable_query_log;
252
 
eval SELECT "$last_error" AS Last_SQL_Error;
253
 
enable_query_log;
 
237
# 1452 = ER_NO_REFERENCED_ROW_2
 
238
--let $slave_sql_errno= 1452
 
239
--source include/wait_for_slave_sql_error.inc
254
240
 
255
241
select * from ti2 order by b /* must be (2,2) */;
256
242
set foreign_key_checks= 0;
284
270
 
285
271
--echo *** slave must stop (Trying to insert a dupliacte key)
286
272
connection slave;
287
 
source include/wait_for_slave_sql_to_stop.inc;
288
 
 
289
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
290
 
disable_query_log;
291
 
eval SELECT "$last_error" AS Last_SQL_Error;
292
 
enable_query_log;
 
273
# 1062 = ER_DUP_ENTRY
 
274
--let $slave_sql_errno= 1062
 
275
--source include/wait_for_slave_sql_error.inc
293
276
 
294
277
set foreign_key_checks= 0;
295
278
delete from ti1 where b=1;
319
302
 
320
303
--echo *** slave must stop (Key was not found)
321
304
connection slave;
322
 
source include/wait_for_slave_sql_to_stop.inc;
323
 
 
324
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
325
 
disable_query_log;
326
 
eval SELECT "$last_error" AS Last_SQL_Error;
327
 
enable_query_log;
 
305
# 1032 = ER_KEY_NOT_FOUND
 
306
--let $slave_sql_errno= 1032
 
307
--source include/wait_for_slave_sql_error.inc
328
308
 
329
309
set global slave_exec_mode='IDEMPOTENT';
330
310
start slave sql_thread;
337
317
DELETE FROM t2 WHERE a = -2; 
338
318
--echo *** slave must stop (Key was not found)
339
319
connection slave;
340
 
source include/wait_for_slave_sql_to_stop.inc;
341
 
 
342
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
343
 
disable_query_log;
344
 
eval SELECT "$last_error" AS Last_SQL_Error;
345
 
enable_query_log;
346
 
 
347
 
set global slave_exec_mode='IDEMPOTENT';
348
 
start slave sql_thread;
349
 
connection master;
350
 
sync_slave_with_master;
351
 
#connection slave;
352
 
set global slave_exec_mode='STRICT';
353
 
 
354
 
UPDATE t1 SET a = 1 WHERE a = -1;
355
 
UPDATE t2 SET a = 1 WHERE a = -1;
356
 
 
357
 
connection master;
358
 
UPDATE t1 SET a = 1 WHERE a = -1;
359
 
 
360
 
--echo *** slave must stop (Key was not found)
361
 
connection slave;
362
 
source include/wait_for_slave_sql_to_stop.inc;
363
 
 
364
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
365
 
disable_query_log;
366
 
eval SELECT "$last_error" AS Last_SQL_Error;
367
 
enable_query_log;
368
 
 
369
 
set global slave_exec_mode='IDEMPOTENT';
370
 
start slave sql_thread;
371
 
connection master;
372
 
sync_slave_with_master;
373
 
#connection slave;
374
 
set global slave_exec_mode='STRICT';
375
 
 
376
 
 
377
 
connection master;
378
 
UPDATE t2 SET a = 1 WHERE a = -1;
379
 
 
380
 
--echo *** slave must stop (Key was not found)
381
 
connection slave;
382
 
source include/wait_for_slave_sql_to_stop.inc;
383
 
 
384
 
let $last_error = query_get_value("SHOW SLAVE STATUS", Last_SQL_Errno, 1);
385
 
disable_query_log;
386
 
eval SELECT "$last_error" AS Last_SQL_Error;
387
 
enable_query_log;
 
320
# 1032 = ER_KEY_NOT_FOUND
 
321
--let $slave_sql_errno= 1032
 
322
source include/wait_for_slave_sql_error.inc;
 
323
 
 
324
set global slave_exec_mode='IDEMPOTENT';
 
325
start slave sql_thread;
 
326
connection master;
 
327
sync_slave_with_master;
 
328
#connection slave;
 
329
set global slave_exec_mode='STRICT';
 
330
 
 
331
UPDATE t1 SET a = 1 WHERE a = -1;
 
332
UPDATE t2 SET a = 1 WHERE a = -1;
 
333
 
 
334
connection master;
 
335
UPDATE t1 SET a = 1 WHERE a = -1;
 
336
 
 
337
--echo *** slave must stop (Key was not found)
 
338
connection slave;
 
339
# 1032 = ER_KEY_NOT_FOUND
 
340
--let $slave_sql_errno= 1032
 
341
source include/wait_for_slave_sql_error.inc;
 
342
 
 
343
set global slave_exec_mode='IDEMPOTENT';
 
344
start slave sql_thread;
 
345
connection master;
 
346
sync_slave_with_master;
 
347
#connection slave;
 
348
set global slave_exec_mode='STRICT';
 
349
 
 
350
 
 
351
connection master;
 
352
UPDATE t2 SET a = 1 WHERE a = -1;
 
353
 
 
354
--echo *** slave must stop (Key was not found)
 
355
connection slave;
 
356
# 1032 = ER_KEY_NOT_FOUND
 
357
--let $slave_sql_errno= 1032
 
358
source include/wait_for_slave_sql_error.inc;
388
359
 
389
360
set global slave_exec_mode='IDEMPOTENT';
390
361
start slave sql_thread;
399
370
set @@session.binlog_format= @save_binlog_format;
400
371
drop table t1,t2,ti2,ti1;
401
372
 
402
 
--source include/master-slave-end.inc
 
373
--source include/rpl_end.inc
403
374
 
404
375
--echo *** end of tests