mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-03 14:33:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
-- source include/have_ndb.inc
 | 
						|
-- source include/have_multi_ndb.inc
 | 
						|
-- source include/have_binlog_format_row.inc
 | 
						|
 | 
						|
--disable_warnings
 | 
						|
connection server2;
 | 
						|
drop table if exists t1,t2,t3;
 | 
						|
connection server1;
 | 
						|
drop table if exists t1,t2,t3;
 | 
						|
--enable_warnings
 | 
						|
 | 
						|
# Dummy table create/drop to avoid a race where table is created
 | 
						|
# before event subscription is set up, causing test failure (BUG#20677).
 | 
						|
connection server2;
 | 
						|
CREATE TABLE t3 (dummy INT PRIMARY KEY) ENGINE = NDB;
 | 
						|
connection server1;
 | 
						|
DROP TABLE t3;
 | 
						|
 | 
						|
# reset for test
 | 
						|
connection server1;
 | 
						|
reset master;
 | 
						|
connection server2;
 | 
						|
reset master;
 | 
						|
 | 
						|
#
 | 
						|
# basic test to see if one server sees the table from the other
 | 
						|
# and sets up the replication correctly
 | 
						|
#
 | 
						|
 | 
						|
# create table on the other server
 | 
						|
connection server2;
 | 
						|
CREATE TABLE t2 (a INT PRIMARY KEY, b int) ENGINE = NDB;
 | 
						|
 | 
						|
# insert something on server2
 | 
						|
INSERT INTO t2 VALUES (1,1),(2,2);
 | 
						|
# verify that we get the data in the binlog
 | 
						|
--source include/show_binlog_events.inc
 | 
						|
select * from t2 order by a;
 | 
						|
--replace_column 1 <the_epoch>
 | 
						|
SELECT @the_epoch:=epoch,inserts,updates,deletes,schemaops FROM 
 | 
						|
  mysql.ndb_binlog_index ORDER BY epoch DESC LIMIT 1;
 | 
						|
let $the_epoch= `SELECT @the_epoch`;
 | 
						|
 | 
						|
# see if we got something on server1
 | 
						|
connection server1;
 | 
						|
SELECT * FROM t2 ORDER BY a;
 | 
						|
# doing drop table will ensure that all the events have been received
 | 
						|
DROP TABLE t2;
 | 
						|
# verify thar we have table and data in binlog
 | 
						|
--source include/show_binlog_events.inc
 | 
						|
--replace_result $the_epoch <the_epoch>
 | 
						|
eval SELECT inserts,updates,deletes,schemaops FROM 
 | 
						|
  mysql.ndb_binlog_index WHERE epoch=$the_epoch;
 | 
						|
 | 
						|
# reset for next test
 | 
						|
connection server1;
 | 
						|
reset master;
 | 
						|
connection server2;
 | 
						|
reset master;
 | 
						|
 | 
						|
# single schema ops will not show
 | 
						|
connection server2;
 | 
						|
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE = NDB;
 | 
						|
INSERT INTO t1 VALUES (1),(2);
 | 
						|
--source include/show_binlog_events.inc
 | 
						|
--replace_column 1 <the_epoch2>
 | 
						|
SELECT @the_epoch2:=epoch,inserts,updates,deletes,schemaops FROM 
 | 
						|
  mysql.ndb_binlog_index ORDER BY epoch DESC LIMIT 1;
 | 
						|
let $the_epoch2= `SELECT @the_epoch2`;
 | 
						|
 | 
						|
--replace_result $the_epoch <the_epoch> $the_epoch2 <the_epoch2>
 | 
						|
eval SELECT inserts,updates,deletes,schemaops FROM
 | 
						|
   mysql.ndb_binlog_index WHERE epoch > $the_epoch AND epoch <= $the_epoch2;
 | 
						|
 | 
						|
# now see that we have the events on the other server
 | 
						|
connection server2;
 | 
						|
# doing drop table will ensure that all the events have been received
 | 
						|
drop table t1;
 | 
						|
# verify thar we have table and data in binlog
 | 
						|
--source include/show_binlog_events.inc
 | 
						|
--replace_result $the_epoch <the_epoch> $the_epoch2 <the_epoch2>
 | 
						|
eval SELECT inserts,updates,deletes,schemaops FROM
 | 
						|
   mysql.ndb_binlog_index WHERE epoch > $the_epoch AND epoch <= $the_epoch2;
 |