mirror of
https://github.com/MariaDB/server.git
synced 2025-01-22 23:04:20 +01:00
617ea4d631
Problem: Replication fails when master is mysql-5.1-wl2325-5.0-drop6 and slave is mysql-5.1-new-rpl. The reason is that, in mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in mysql-5.1-new-rpl. Fix (in mysql-5.1-new-rpl): (1) detect that the server that generated the events uses the old format, by checking the server version of the format_description_log_event This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd. (2) if the generating server is old, map old event types to new event types using a permutation array. I've also added a test case which reads binlogs for four different versions.
61 lines
1.2 KiB
Text
61 lines
1.2 KiB
Text
DROP TABLE IF EXISTS t1, t2, t3;
|
|
==== Read modern binlog (version 5.1.23) ====
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a b
|
|
0 last_insert_id
|
|
1 one
|
|
3 last stm in trx: next event should be xid
|
|
4 four
|
|
674568 random
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a b
|
|
3 first stm in trx
|
|
SELECT COUNT(*) FROM t3;
|
|
COUNT(*)
|
|
17920
|
|
DROP TABLE t1, t2, t3;
|
|
==== Read binlog from version 5.1.17 ====
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a b
|
|
0 last_insert_id
|
|
1 one
|
|
3 last stm in trx: next event should be xid
|
|
4 four
|
|
764247 random
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a b
|
|
3 first stm in trx
|
|
SELECT COUNT(*) FROM t3;
|
|
COUNT(*)
|
|
17920
|
|
DROP TABLE t1, t2, t3;
|
|
==== Read binlog from alcatel tree (mysql-5.1-wl2325-5.0-drop6) ====
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a b
|
|
0 last_insert_id
|
|
1 one
|
|
3 last stm in trx: next event should be xid
|
|
4 four
|
|
781729 random
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a b
|
|
3 first stm in trx
|
|
SELECT COUNT(*) FROM t3;
|
|
COUNT(*)
|
|
17920
|
|
DROP TABLE t1, t2, t3;
|
|
==== Read binlog from ndb tree (mysql-5.1-telco-6.1) ====
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a b
|
|
0 last_insert_id
|
|
1 one
|
|
3 last stm in trx: next event should be xid
|
|
4 four
|
|
703356 random
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a b
|
|
3 first stm in trx
|
|
SELECT COUNT(*) FROM t3;
|
|
COUNT(*)
|
|
17920
|
|
DROP TABLE t1, t2, t3;
|