mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +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_events2.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_events2.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_events2.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_events2.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;
 | 
