rpl_ndb_stm_innodb.result 4.22 KB
Newer Older
1 2 3 4 5 6
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
7
SET binlog_format = STATEMENT;
unknown's avatar
unknown committed
8 9 10

*** Test 1 ***

11 12
create table t1 (a int key, b int) engine innodb;
create table t2 (a int key, b int) engine innodb;
unknown's avatar
unknown committed
13

14 15
alter table t1 engine ndb;
alter table t2 engine ndb;
unknown's avatar
unknown committed
16

17
insert into t1 values (1,2);
unknown's avatar
unknown committed
18 19 20 21 22 23

select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
from mysql.ndb_apply_status;
@log_name:=log_name	@start_pos:=start_pos	@end_pos:=end_pos
<log_name>	<start_pos>	<end_pos>

unknown's avatar
unknown committed
24 25 26 27 28 29
# Now check that that is in the apply_status table is consistant
# with what is in the binlog

# since insert is done with transactional engine, expect a BEGIN
# at <start_pos>

30
show binlog events from <binlog_start> limit 1;
31
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
32
master-bin.000001	#	Query	#	#	BEGIN
unknown's avatar
unknown committed
33

unknown's avatar
unknown committed
34 35
# Now the insert, one step after

36
show binlog events from <binlog_start> limit 1,1;
37
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
38
master-bin.000001	#	Query	#	#	use `test`; insert into t1 values (1,2)
unknown's avatar
unknown committed
39 40 41

# and the COMMIT should be at <end_pos>

42
show binlog events from <binlog_start> limit 2,1;
unknown's avatar
unknown committed
43
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
44
master-bin.000001	#	Xid	#	#	COMMIT /* XID */
unknown's avatar
unknown committed
45

46 47 48 49
begin;
insert into t1 values (2,3);
insert into t2 values (3,4);
commit;
unknown's avatar
unknown committed
50 51 52 53 54

select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
from mysql.ndb_apply_status;
@log_name:=log_name	@start_pos:=start_pos	@end_pos:=end_pos
<log_name>	<start_pos>	<end_pos>
55
show binlog events from <binlog_start> limit 1;
56
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
57
master-bin.000001	#	Query	#	#	BEGIN
unknown's avatar
unknown committed
58

59
show binlog events from <binlog_start> limit 1,2;
60 61 62
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Query	#	#	use `test`; insert into t1 values (2,3)
master-bin.000001	#	Query	#	#	use `test`; insert into t2 values (3,4)
unknown's avatar
unknown committed
63

64
show binlog events from <binlog_start> limit 3,1;
65
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
66
master-bin.000001	#	Xid	#	#	COMMIT /* XID */
unknown's avatar
unknown committed
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144

DROP TABLE test.t1, test.t2;
SHOW TABLES;
Tables_in_test

*** Test 2 ***

DROP DATABASE IF EXISTS tpcb;
CREATE DATABASE tpcb;

CREATE TABLE tpcb.account (id INT, bid INT, balance DECIMAL(10,2),
filler CHAR(255), PRIMARY KEY(id));

CREATE TABLE tpcb.branch (bid INT, balance DECIMAL(10,2), filler VARCHAR(255),
PRIMARY KEY(bid));

CREATE TABLE tpcb.teller (tid INT, balance DECIMAL(10,2), filler VARCHAR(255),
PRIMARY KEY(tid));

CREATE TABLE tpcb.history (id MEDIUMINT NOT NULL AUTO_INCREMENT,aid INT,
tid INT, bid INT,  amount DECIMAL(10,2),
tdate DATETIME, teller CHAR(20), uuidf LONGBLOB,
filler CHAR(80),PRIMARY KEY (id));

--- Create stored procedures & functions ---


*** Stored Procedures Created ***

USE tpcb;
ALTER TABLE account ENGINE NDB;
ALTER TABLE branch ENGINE NDB;
ALTER TABLE teller ENGINE NDB;
ALTER TABLE history ENGINE NDB;

select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
from mysql.ndb_apply_status;
@log_name:=log_name	@start_pos:=start_pos	@end_pos:=end_pos
<log_name>	<start_pos>	<end_pos>

show binlog events in 'master-bin.000001'  from <start_pos> limit 6,1;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Xid	1	<end_pos>	COMMIT /* XID */

** Test 3 **

FLUSH LOGS;

select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
from mysql.ndb_apply_status;
@log_name:=log_name	@start_pos:=start_pos	@end_pos:=end_pos
<log_name>	<start_pos>	<end_pos>

show binlog events in 'master-bin.000002'  from <start_pos> limit 6,1;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000002	#	Xid	1	<end_pos>	COMMIT /* XID */

** Test 4 **

stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;

select @log_name:=log_name, @start_pos:=start_pos, @end_pos:=end_pos
from mysql.ndb_apply_status;
@log_name:=log_name	@start_pos:=start_pos	@end_pos:=end_pos
<log_name>	<start_pos>	<end_pos>

show binlog events in 'master-bin.000001'  from <start_pos> limit 6,1;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Xid	1	<end_pos>	COMMIT /* XID */

*** DUMP MASTER & SLAVE FOR COMPARE ********
DROP DATABASE tpcb;
****** Do dumps compare ************