Allow row events in replication stream for slave in all cases

(even when configured with --binlog-format=statement).
Before we got an error on the slave and the slave stopped if the master
was configured with --binlog-format=mixed or --binlog-format=row.
This commit is contained in:
Monty 2015-10-08 10:16:35 +03:00
commit ca051fa027
5 changed files with 59 additions and 9 deletions

View file

@ -0,0 +1,28 @@
include/master-slave.inc
[connection master]
use test;
create table t1 (a int primary key);
insert into t1 values (1),(2),(3),(4),(5);
update t1 set a=a*10;
use test;
select * from t1;
a
10
20
30
40
50
include/show_binlog_events.inc
Log_name Pos Event_type Server_id End_log_pos Info
slave-bin.000001 # Gtid # # GTID #-#-#
slave-bin.000001 # Query # # use `test`; create table t1 (a int primary key)
slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Write_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
slave-bin.000001 # Gtid # # BEGIN GTID #-#-#
slave-bin.000001 # Table_map # # table_id: # (test.t1)
slave-bin.000001 # Update_rows_v1 # # table_id: # flags: STMT_END_F
slave-bin.000001 # Query # # COMMIT
drop table t1;
include/rpl_end.inc

View file

@ -0,0 +1 @@
--binlog-format=row

View file

@ -0,0 +1 @@
--binlog-format=statement

View file

@ -0,0 +1,23 @@
#
# check that master starterd with log-format=ROW replication can replicate to
# slave started with log-format=STATEMENT
#
--source include/have_binlog_format_row.inc
--source include/master-slave.inc
use test;
create table t1 (a int primary key);
insert into t1 values (1),(2),(3),(4),(5);
update t1 set a=a*10;
sync_slave_with_master;
use test;
select * from t1;
source include/show_binlog_events.inc;
connection master;
drop table t1;
--source include/rpl_end.inc