mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| -- source include/have_binlog_format_mixed_or_statement.inc
 | |
| -- source include/not_ndb_default.inc
 | |
| -- source include/master-slave.inc
 | |
| 
 | |
| # Test that the slave temporarily switches to ROW when seeing binrow
 | |
| # events when it is in STATEMENT or MIXED mode
 | |
| 
 | |
| SET BINLOG_FORMAT=MIXED;
 | |
| SET GLOBAL BINLOG_FORMAT=MIXED;
 | |
| SELECT @@GLOBAL.BINLOG_FORMAT, @@SESSION.BINLOG_FORMAT;
 | |
| 
 | |
| --echo **** On Master ****
 | |
| CREATE TABLE t1 (a INT, b LONG);
 | |
| INSERT INTO t1 VALUES (1,1), (2,2);
 | |
| INSERT INTO t1 VALUES (3,UUID()), (4,UUID());
 | |
| let $VERSION=`select version()`;
 | |
| --replace_result $VERSION VERSION
 | |
| --replace_column 2 # 5 #
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| SHOW BINLOG EVENTS;
 | |
| sync_slave_with_master;
 | |
| --echo **** On Slave ****
 | |
| --replace_result $MASTER_MYPORT MASTER_PORT
 | |
| --replace_column 1 # 8 # 9 # 23 # 33 #
 | |
| --query_vertical SHOW SLAVE STATUS
 | |
| --replace_result $VERSION VERSION
 | |
| --replace_column 2 # 5 #
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| SHOW BINLOG EVENTS;
 | |
| 
 | |
| --exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql
 | |
| --exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_slave.sql
 | |
| 
 | |
| connection master;
 | |
| DROP TABLE IF EXISTS t1;
 | |
| 
 | |
| # Let's compare. Note: If they match test will pass, if they do not match
 | |
| # the test will show that the diff statement failed and not reject file
 | |
| # will be created. You will need to go to the mysql-test dir and diff
 | |
| # the files your self to see what is not matching
 | |
| 
 | |
| diff_files $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_slave.sql;
 | |
| 
 | |
| # If all is good, we can remove the files
 | |
| 
 | |
| system rm $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_master.sql;
 | |
| system rm $MYSQLTEST_VARDIR/tmp/rpl_rbr_to_sbr_slave.sql;
 |