######################################################## # Author: Jeb # Date: 2007-8-14 # Purpose: To test extra columns on master while using # partitions ######################################################## connection master; --disable_warnings DROP TABLE IF EXISTS t1; let $binformat = `SHOW VARIABLES LIKE '%binlog_format%'`; --echo --echo *********************************************************** --echo *********************************************************** --echo ***************** Start of Testing ************************ --echo *********************************************************** --echo *********************************************************** --echo * This test format == $binformat and engine == $engine_type --echo *********************************************************** --echo *********************************************************** --echo #Bug30476 # Uncomment below once patched #--echo **** Partition RANGE testing **** #connection slave; #STOP SLAVE; #RESET SLAVE; #eval CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), # bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, # f FLOAT DEFAULT 0, total BIGINT UNSIGNED)ENGINE=$engine_type; #connection master; #eval CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), # bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, # f FLOAT DEFAULT 0, total BIGINT UNSIGNED, # y YEAR, t DATE)ENGINE=$engine_type # PARTITION BY RANGE (YEAR(t)) # (PARTITION p0 VALUES LESS THAN (1901), # PARTITION p1 VALUES LESS THAN (1946), # PARTITION p2 VALUES LESS THAN (1966), # PARTITION p3 VALUES LESS THAN (1986), # PARTITION p4 VALUES LESS THAN (2005), # PARTITION p5 VALUES LESS THAN MAXVALUE); #RESET MASTER; #connection slave; #START SLAVE; #connection master; #--source include/rpl_multi_engine4.inc #ALTER TABLE t1 MODIFY vc TEXT; #--echo --- On master --- #SHOW CREATE TABLE t1; #--echo --- On slave --- #sync_slave_with_master; #SHOW CREATE TABLE t1; #connection master; ## Perform basic operation on master and ensure replicated correctly #--source include/rpl_multi_engine4.inc ##BUG30474 ##Extra master columns: dropping partition on master not on slave cause failure #connection master; #ALTER TABLE t1 DROP PARTITION p5; ##$ Uncomment below once 30474 is patched. #$$$$$$$$$$$$$$$$$$$$$$$$$$$$ #sync_slave_with_master; #SHOW CREATE TABLE t1; #$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ##Remove below once 30474 is patched #***************************************** #connection slave; #wait_for_slave_to_stop; #--replace_result $MASTER_MYPORT MASTER_PORT #--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # #--query_vertical SHOW SLAVE STATUS #STOP SLAVE; #RESET SLAVE; #connection master; #RESET MASTER; #connection slave; #START SLAVE; #**************************************** #connection master; #DROP TABLE IF EXISTS t1; #sync_slave_with_master; ######################################################## --echo **** Partition LIST testing **** connection slave; STOP SLAVE; RESET SLAVE; eval CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0)ENGINE=$engine_type PARTITION BY LIST(id) (PARTITION p0 VALUES IN (2, 4), PARTITION p1 VALUES IN (42,142, 412)); connection master; eval CREATE TABLE t1 (id MEDIUMINT NOT NULL, b1 BIT(8), vc VARCHAR(255), bc CHAR(255), d DECIMAL(10,4) DEFAULT 0, f FLOAT DEFAULT 0, total BIGINT UNSIGNED, y YEAR, t DATE) PARTITION BY LIST(id) (PARTITION p0 VALUES IN (2, 4), PARTITION p1 VALUES IN (42, 142), PARTITION p2 VALUES IN (412)); RESET MASTER; connection slave; START SLAVE; connection master; --source include/rpl_multi_engine4.inc ALTER TABLE t1 MODIFY vc TEXT; --echo --- On master --- SHOW CREATE TABLE t1; --echo --- On slave --- sync_slave_with_master; SHOW CREATE TABLE t1; connection master; # Perform basic operation on master and ensure replicated correctly --source include/rpl_multi_engine4.inc connection master; DROP TABLE IF EXISTS t1; sync_slave_with_master;