Commit 4c6b4b01 authored by unknown's avatar unknown
Browse files

WL#3023 (RBR: Use locks in a statement-like manner):

  More adaptions to make it work with existing code base.


mysql-test/extra/rpl_tests/rpl_row_charset.test:
  Info for RBR events now include table id; changed test to not 
  depend on the table id.
mysql-test/r/rpl_ndb_blob.result:
  Result change
mysql-test/r/rpl_ndb_dd_basic.result:
  Result change
mysql-test/r/rpl_row_basic_7ndb.result:
  Result change
mysql-test/r/rpl_row_drop.result:
  Result change
mysql-test/r/rpl_row_log.result:
  Result change
mysql-test/r/rpl_row_log_innodb.result:
  Result change
mysql-test/r/rpl_row_sp008.result:
  Result change
mysql-test/r/rpl_switch_stm_row_mixed.result:
  Result change
sql/ha_ndbcluster_binlog.cc:
  Enabled patch to NDB to support new locking scheme.
sql/handler.cc:
  Added test to prevent logging if the binlog is closed.
sql/log.cc:
  Adaptions to use thread-local variable for enabling row-based replication.
sql/log_event.cc:
  Fixing compile failure.
sql/slave.cc:
  Reordering in initializer list to eliminate compiler warning.
sql/sql_base.cc:
  Bad use of return when DBUG_RETURN should be used.
sql/sql_insert.cc:
  Adaptions to use thread-local variable for enabling row-based replication.
parent 4e31551b
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ connection master;
drop database mysqltest2;
drop database mysqltest3;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/
show binlog events from 102;
sync_slave_with_master;

+32 −30
Original line number Diff line number Diff line
@@ -86,41 +86,43 @@ a int not null primary key,
b text not null
) engine=ndb
master-bin.000001	239	Query	1	303	BEGIN
master-bin.000001	303	Table_map	1	65	cluster_replication.apply_status
master-bin.000001	368	Write_rows	1	107	
master-bin.000001	410	Table_map	1	147	test.t1
master-bin.000001	450	Write_rows	1	818	
master-bin.000001	1121	Write_rows	1	9853	
master-bin.000001	303	Table_map	1	40	table_id: # (test.t1)
master-bin.000001	343	Table_map	1	105	table_id: # (cluster_replication.apply_status)
master-bin.000001	408	Write_rows	1	147	table_id: #
master-bin.000001	450	Write_rows	1	818	table_id: #
master-bin.000001	1121	Write_rows	1	9853	table_id: # flags: STMT_END_F
master-bin.000001	10156	Query	1	10221	COMMIT
master-bin.000001	10221	Query	1	10285	BEGIN
master-bin.000001	10285	Table_map	1	65	cluster_replication.apply_status
master-bin.000001	10350	Write_rows	1	107	
master-bin.000001	10392	Query	1	10457	COMMIT
master-bin.000001	10457	Query	1	10533	use `test`; drop table t1
master-bin.000001	10533	Query	1	10708	use `test`; create table t1 (
master-bin.000001	10285	Table_map	1	40	table_id: # (test.t1)
master-bin.000001	10325	Table_map	1	105	table_id: # (cluster_replication.apply_status)
master-bin.000001	10390	Write_rows	1	147	table_id: # flags: STMT_END_F
master-bin.000001	10432	Query	1	10497	COMMIT
master-bin.000001	10497	Query	1	10573	use `test`; drop table t1
master-bin.000001	10573	Query	1	10748	use `test`; create table t1 (
a int not null primary key,
b text not null,
c int,
d longblob,
e tinyblob
) engine=ndbcluster
master-bin.000001	10708	Query	1	10772	BEGIN
master-bin.000001	10772	Table_map	1	65	cluster_replication.apply_status
master-bin.000001	10837	Write_rows	1	107	
master-bin.000001	10879	Table_map	1	150	test.t1
master-bin.000001	10922	Write_rows	1	48934	
master-bin.000001	59706	Write_rows	1	124436	
master-bin.000001	135208	Write_rows	1	124542	
master-bin.000001	135314	Write_rows	1	205961	
master-bin.000001	216733	Write_rows	1	224245	
master-bin.000001	235017	Write_rows	1	227523	
master-bin.000001	238295	Write_rows	1	242391	
master-bin.000001	253163	Write_rows	1	254087	
master-bin.000001	264859	Write_rows	1	304335	
master-bin.000001	315107	Write_rows	1	330427	
master-bin.000001	341199	Query	1	341264	COMMIT
master-bin.000001	341264	Query	1	341328	BEGIN
master-bin.000001	341328	Table_map	1	65	cluster_replication.apply_status
master-bin.000001	341393	Write_rows	1	107	
master-bin.000001	341435	Query	1	341500	COMMIT
master-bin.000001	341500	Query	1	341576	use `test`; drop table t1
master-bin.000001	10748	Query	1	10812	BEGIN
master-bin.000001	10812	Table_map	1	43	table_id: # (test.t1)
master-bin.000001	10855	Table_map	1	108	table_id: # (cluster_replication.apply_status)
master-bin.000001	10920	Write_rows	1	150	table_id: #
master-bin.000001	10962	Write_rows	1	48934	table_id: #
master-bin.000001	59746	Write_rows	1	124436	table_id: #
master-bin.000001	135248	Write_rows	1	124542	table_id: #
master-bin.000001	135354	Write_rows	1	205961	table_id: #
master-bin.000001	216773	Write_rows	1	224245	table_id: #
master-bin.000001	235057	Write_rows	1	227523	table_id: # flags: STMT_END_F
master-bin.000001	238335	Query	1	238400	COMMIT
master-bin.000001	238400	Query	1	238464	BEGIN
master-bin.000001	238464	Table_map	1	43	table_id: # (test.t1)
master-bin.000001	238507	Table_map	1	108	table_id: # (cluster_replication.apply_status)
master-bin.000001	238572	Write_rows	1	150	table_id: #
master-bin.000001	238614	Write_rows	1	15018	table_id: #
master-bin.000001	253482	Write_rows	1	26714	table_id: #
master-bin.000001	265178	Write_rows	1	76962	table_id: #
master-bin.000001	315426	Write_rows	1	103054	table_id: # flags: STMT_END_F
master-bin.000001	341518	Query	1	341583	COMMIT
master-bin.000001	341583	Query	1	341659	use `test`; drop table t1
+4 −4
Original line number Diff line number Diff line
@@ -57,10 +57,10 @@ master-bin.000001 798 Query 1 978 use `test`; CREATE TABLE t1
tablespace ts1 storage disk
engine ndb
master-bin.000001	978	Query	1	1042	BEGIN
master-bin.000001	1042	Table_map	1	65	cluster_replication.apply_status
master-bin.000001	1107	Write_rows	1	107	
master-bin.000001	1149	Table_map	1	148	test.t1
master-bin.000001	1190	Write_rows	1	190	
master-bin.000001	1042	Table_map	1	41	table_id: # (test.t1)
master-bin.000001	1083	Table_map	1	106	table_id: # (cluster_replication.apply_status)
master-bin.000001	1148	Write_rows	1	148	table_id: #
master-bin.000001	1190	Write_rows	1	190	table_id: # flags: STMT_END_F
master-bin.000001	1232	Query	1	1297	COMMIT
drop table t1;
alter tablespace ts1
+12 −20
Original line number Diff line number Diff line
@@ -363,7 +363,6 @@ SELECT C1,HEX(B1),HEX(B2) FROM t4 ORDER BY C1;
C1	HEX(B1)	HEX(B2)
1	NULL	0
CREATE TABLE t7 (C1 INT PRIMARY KEY, C2 INT) ENGINE = 'NDB'  ;

--- on slave: original values ---
INSERT INTO t7 VALUES (1,3), (2,6), (3,9);
SELECT * FROM t7 ORDER BY C1;
@@ -371,7 +370,6 @@ C1 C2
1	3
2	6
3	9

--- on master: new values inserted ---
INSERT INTO t7 VALUES (1,2), (2,4), (3,6);
SELECT * FROM t7 ORDER BY C1;
@@ -379,48 +377,42 @@ C1 C2
1	2
2	4
3	6

--- on slave: old values should be overwritten by replicated values ---
SELECT * FROM t7 ORDER BY C1;
C1	C2
1	2
2	4
3	6

--- on master ---
DROP TABLE t7;
CREATE TABLE t7 (a INT PRIMARY KEY, b INT UNIQUE, c INT UNIQUE) ENGINE = 'NDB'  ;
INSERT INTO t7 VALUES (99,99,99);
INSERT INTO t7 VALUES (99,22,33);
CREATE TABLE t8 (a INT PRIMARY KEY, b INT UNIQUE, c INT UNIQUE) ENGINE = 'NDB'  ;
INSERT INTO t8 VALUES (99,99,99);
INSERT INTO t8 VALUES (99,22,33);
ERROR 23000: Duplicate entry '99' for key 'PRIMARY'
INSERT INTO t7 VALUES (11,99,33);
INSERT INTO t8 VALUES (11,99,33);
ERROR 23000: Duplicate entry '11' for key 'PRIMARY'
INSERT INTO t7 VALUES (11,22,99);
INSERT INTO t8 VALUES (11,22,99);
ERROR 23000: Duplicate entry '11' for key 'PRIMARY'
SELECT * FROM t7 ORDER BY a;
SELECT * FROM t8 ORDER BY a;
a	b	c
99	99	99

--- on slave ---
SELECT * FROM t7 ORDER BY a;
SELECT * FROM t8 ORDER BY a;
a	b	c
99	99	99
INSERT INTO t7 VALUES (1,2,3), (2,4,6), (3,6,9);
SELECT * FROM t7 ORDER BY a;
INSERT INTO t8 VALUES (1,2,3), (2,4,6), (3,6,9);
SELECT * FROM t8 ORDER BY a;
a	b	c
1	2	3
2	4	6
3	6	9
99	99	99

--- on master ---
INSERT INTO t7 VALUES (2,4,8);

INSERT INTO t8 VALUES (2,4,8);
--- on slave ---
SELECT * FROM t7 ORDER BY a;
SELECT * FROM t8 ORDER BY a;
a	b	c
1	2	3
2	4	8
3	6	9
99	99	99
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7;
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8;
+6 −0
Original line number Diff line number Diff line
@@ -41,6 +41,12 @@ t1
t2
**** On Master ****
DROP TABLE t1,t2;
SHOW BINLOG EVENTS;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	4	Format_desc	1	102	Server ver: VERSION, Binlog ver: 4
master-bin.000001	102	Query	1	188	use `test`; CREATE TABLE t1 (a int)
master-bin.000001	188	Query	1	274	use `test`; CREATE TABLE t2 (a int)
master-bin.000001	274	Query	1	378	use `test`; DROP TABLE `t1` /* generated by server */
SHOW TABLES;
Tables_in_test
t2
Loading