mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-30 04:26:45 +03:00 
			
		
		
		
	into dl145k.mysql.com:/data0/mkindahl/bk/MERGE/mysql-5.1-merge include/my_sys.h: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/rpl_row_create_table.result: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/rpl_row_create_table.test: Auto merged mysys/my_malloc.c: Auto merged server-tools/instance-manager/parse.h: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.h: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.h: Auto merged sql/sp.cc: Auto merged sql/sp_head.cc: Auto merged sql/sp_head.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_view.cc: Auto merged sql/sql_yacc.yy: Auto merged mysys/safemalloc.c: Merge of mysql-5.1-new-rpl into mysql-5.1 sql/ha_federated.cc: d Merge of mysql-5.1-new-rpl into mysql-5.1 sql/set_var.cc: Merge of mysql-5.1-new-rpl with mysql-5.1 sql/slave.cc: Merge of mysql-5.1-new-rpl into mysql-5.1 sql/sql_class.h: Merge of mysql-5.1-new-rpl into mysql-5.1
		
			
				
	
	
		
			121 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| # Testing table creations for row-based replication.
 | |
| 
 | |
| --source include/have_binlog_format_row.inc
 | |
| --source include/master-slave.inc
 | |
| 
 | |
| # Bug#18326: Do not lock table for writing during prepare of statement
 | |
| # The use of the ps protocol causes extra table maps in the binlog, so
 | |
| # we disable the ps-protocol for this statement.
 | |
| --disable_ps_protocol
 | |
| 
 | |
| --disable_query_log
 | |
| --disable_warnings
 | |
| DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
 | |
| --enable_warnings
 | |
| --enable_query_log
 | |
| 
 | |
| # Set the default storage engine to different values on master and
 | |
| # slave. We need to stop the slave for the server variable to take
 | |
| # effect, since the variable is only read on start-up.
 | |
| connection slave;
 | |
| --disable_query_log
 | |
| set @storage_engine = @@global.storage_engine;
 | |
| STOP SLAVE;
 | |
| SET GLOBAL storage_engine=memory;
 | |
| START SLAVE;
 | |
| --enable_query_log
 | |
| 
 | |
| connection master;
 | |
| CREATE TABLE t1 (a INT, b INT);
 | |
| CREATE TABLE t2 (a INT, b INT) ENGINE=Merge;
 | |
| CREATE TABLE t3 (a INT, b INT) CHARSET=utf8;
 | |
| CREATE TABLE t4 (a INT, b INT) ENGINE=Merge CHARSET=utf8;
 | |
| --replace_column 1 # 4 # 5 #
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| --query_vertical SHOW BINLOG EVENTS FROM 212
 | |
| --echo **** On Master ****
 | |
| --query_vertical SHOW CREATE TABLE t1
 | |
| --query_vertical SHOW CREATE TABLE t2
 | |
| --query_vertical SHOW CREATE TABLE t3
 | |
| sync_slave_with_master;
 | |
| --echo **** On Slave ****
 | |
| --query_vertical SHOW CREATE TABLE t1
 | |
| --query_vertical SHOW CREATE TABLE t2
 | |
| --query_vertical SHOW CREATE TABLE t3
 | |
| 
 | |
| connection master;
 | |
| CREATE TABLE t5 (b INT, c INT) SELECT * FROM t3;
 | |
| 
 | |
| CREATE TEMPORARY TABLE tt3 (a INT, b INT);
 | |
| INSERT INTO tt3 VALUES (1,2), (2,4), (3,6), (4,2), (5,10), (6,12);
 | |
| CREATE TABLE t6 (b INT, c INT) SELECT * FROM tt3;
 | |
| --echo **** On Master ****
 | |
| --query_vertical SHOW CREATE TABLE t5
 | |
| SELECT * FROM t5 ORDER BY a,b,c;
 | |
| --query_vertical SHOW CREATE TABLE t6
 | |
| SELECT * FROM t6 ORDER BY a,b,c;
 | |
| sync_slave_with_master;
 | |
| --echo **** On Slave ****
 | |
| --query_vertical SHOW CREATE TABLE t5
 | |
| SELECT * FROM t5 ORDER BY a,b,c;
 | |
| --query_vertical SHOW CREATE TABLE t6
 | |
| SELECT * FROM t6 ORDER BY a,b,c;
 | |
| 
 | |
| connection master;
 | |
| # Test for erroneous constructions
 | |
| --error 1062
 | |
| CREATE TABLE t7 (UNIQUE(b)) SELECT a,b FROM tt3;
 | |
| # Shouldn't be written to the binary log
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| SHOW BINLOG EVENTS FROM 1256;
 | |
| 
 | |
| # Test that INSERT-SELECT works the same way as for SBR.
 | |
| CREATE TABLE t7 (a INT, b INT UNIQUE);
 | |
| --error 1062
 | |
| INSERT INTO t7 SELECT a,b FROM tt3;
 | |
| SELECT * FROM t7 ORDER BY a,b;
 | |
| # Should be written to the binary log
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| SHOW BINLOG EVENTS FROM 1118;
 | |
| sync_slave_with_master;
 | |
| SELECT * FROM t7 ORDER BY a,b;
 | |
| 
 | |
| connection master;
 | |
| CREATE TEMPORARY TABLE tt4 (a INT, b INT);
 | |
| INSERT INTO tt4 VALUES (4,8), (5,10), (6,12);
 | |
| BEGIN;
 | |
| INSERT INTO t7 SELECT a,b FROM tt4;
 | |
| ROLLBACK;
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| SHOW BINLOG EVENTS FROM 1314;
 | |
| SELECT * FROM t7 ORDER BY a,b;
 | |
| sync_slave_with_master;
 | |
| SELECT * FROM t7 ORDER BY a,b;
 | |
| 
 | |
| connection master;
 | |
| CREATE TABLE t8 LIKE t4;
 | |
| CREATE TABLE t9 LIKE tt4;
 | |
| CREATE TEMPORARY TABLE tt5 LIKE t4;
 | |
| CREATE TEMPORARY TABLE tt6 LIKE tt4;
 | |
| CREATE TEMPORARY TABLE tt7 SELECT 1;
 | |
| --echo **** On Master ****
 | |
| --query_vertical SHOW CREATE TABLE t8
 | |
| --query_vertical SHOW CREATE TABLE t9
 | |
| --replace_regex /table_id: [0-9]+/table_id: #/
 | |
| SHOW BINLOG EVENTS FROM 1410;
 | |
| sync_slave_with_master;
 | |
| --echo **** On Slave ****
 | |
| --query_vertical SHOW CREATE TABLE t8
 | |
| --query_vertical SHOW CREATE TABLE t9
 | |
| 
 | |
| connection master;
 | |
| --disable_query_log
 | |
| DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
 | |
| sync_slave_with_master;
 | |
| # Here we reset the value of the default storage engine
 | |
| STOP SLAVE;
 | |
| SET GLOBAL storage_engine=@storage_engine;
 | |
| START SLAVE;
 | |
| --enable_query_log
 | |
| --enable_ps_protocol
 |