Browse Source
Merge mail.hezx.com:/media/sda3/work/mysql/bkroot/mysql-5.1-new-rpl
Merge mail.hezx.com:/media/sda3/work/mysql/bkroot/mysql-5.1-new-rpl
into mail.hezx.com:/media/sda3/work/mysql/bkwork/b33029_5.0_to_5.1_fails_on_dup_key/5.1 sql/slave.cc: Auto merged sql/slave.h: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto mergedpull/374/head
10 changed files with 169 additions and 13 deletions
-
7mysql-test/include/show_binlog_events.inc
-
BINmysql-test/std_data/bug33029-slave-relay-bin.000001
-
33mysql-test/suite/binlog/r/binlog_auto_increment_bug33029.result
-
1mysql-test/suite/binlog/t/binlog_auto_increment_bug33029-master.opt
-
36mysql-test/suite/binlog/t/binlog_auto_increment_bug33029.test
-
30sql/slave.cc
-
3sql/slave.h
-
50sql/sql_class.cc
-
1sql/sql_class.h
-
21sql/structs.h
@ -1,4 +1,9 @@ |
|||
--let $binlog_start=106 |
|||
# $binlog_start can be set by caller or take a default value |
|||
|
|||
if (!$binlog_start) |
|||
{ |
|||
let $binlog_start=106; |
|||
} |
|||
--replace_result $binlog_start <binlog_start> |
|||
--replace_column 2 # 4 # 5 # |
|||
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ |
|||
|
|||
@ -0,0 +1,33 @@ |
|||
change master to |
|||
MASTER_HOST='dummy.localdomain', |
|||
RELAY_LOG_FILE='slave-relay-bin.000001', |
|||
RELAY_LOG_POS=4; |
|||
start slave sql_thread; |
|||
select MASTER_POS_WAIT('master-bin.000001', 3776); |
|||
# Result on slave |
|||
SELECT * FROM t1; |
|||
id |
|||
5 |
|||
6 |
|||
7 |
|||
8 |
|||
9 |
|||
10 |
|||
11 |
|||
SELECT * FROM t2; |
|||
id |
|||
5 |
|||
6 |
|||
7 |
|||
8 |
|||
9 |
|||
10 |
|||
11 |
|||
12 |
|||
13 |
|||
14 |
|||
15 |
|||
16 |
|||
17 |
|||
18 |
|||
19 |
|||
@ -0,0 +1 @@ |
|||
--replicate-same-server-id --relay-log=slave-relay-bin --skip-slave-start |
|||
@ -0,0 +1,36 @@ |
|||
# BUG#33029 5.0 to 5.1 replication fails on dup key when inserting |
|||
# using a trig in SP |
|||
|
|||
# For all 5.0 up to 5.0.58 exclusive, and 5.1 up to 5.1.12 exclusive, |
|||
# if one statement in a SP generated AUTO_INCREMENT value by the top |
|||
# statement, all statements after it would be considered generated |
|||
# AUTO_INCREMENT value by the top statement, and a erroneous INSERT_ID |
|||
# value might be associated with these statement, which could cause |
|||
# duplicate entry error and stop the slave. |
|||
|
|||
# Test if the slave can replicate from such a buggy master |
|||
|
|||
# The bug33029-slave-relay-bin.000001 file is the |
|||
# slave-replay-bin.000003 file generated by run the |
|||
# rpl_auto_increment_bug33029.test with clean up statements at the end |
|||
# of the test case removed on a buggy 5.0 server |
|||
|
|||
copy_file $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001 $MYSQLTEST_VARDIR/master-data/slave-relay-bin.000001; |
|||
|
|||
write_file $MYSQLTEST_VARDIR/master-data/slave-relay-bin.index; |
|||
slave-relay-bin.000001 |
|||
EOF |
|||
|
|||
change master to |
|||
MASTER_HOST='dummy.localdomain', |
|||
RELAY_LOG_FILE='slave-relay-bin.000001', |
|||
RELAY_LOG_POS=4; |
|||
|
|||
start slave sql_thread; |
|||
disable_result_log; |
|||
select MASTER_POS_WAIT('master-bin.000001', 3776); |
|||
enable_result_log; |
|||
|
|||
echo # Result on slave; |
|||
SELECT * FROM t1; |
|||
SELECT * FROM t2; |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue