include/master-slave.inc [connection master] DROP TABLE IF EXISTS t1; **** Testing WL#3228 changes. **** *** Create "wider" table on slave *** STOP SLAVE; include/wait_for_slave_to_stop.inc RESET SLAVE; SET @saved_slave_type_conversions = @@slave_type_conversions; SET GLOBAL SLAVE_TYPE_CONVERSIONS = 'ALL_NON_LOSSY'; CREATE TABLE t1 ( a float (47), b double (143,9), c decimal (65,30), d numeric (4,0), e bit (32), f char (21), g varchar (1300), h binary (33), j varbinary (200), k enum ('5','6','7', '8','9','0'), l set ('1','2','3','4','5','6','7','8','9','0','11','12','13','14','15','16','17','18','19','21','22','23','24','25','26','27','28','29'), m TINYBLOB, n BLOB, o MEDIUMBLOB, p LONGBLOB, q TINYTEXT, r TEXT, s MEDIUMTEXT, t LONGTEXT ); *** Create same table on master but with narrow columns *** CREATE TABLE t1 ( a float (44), b double (10,3), c decimal (10,2), d numeric (3,0), e bit (16), f char (10), g varchar (100), h binary (20), j varbinary (20), k enum ('5','6','7'), l set ('1','2','3','4','5','6','7','8','9','0'), m TINYBLOB, n BLOB, o MEDIUMBLOB, p LONGBLOB, q TINYTEXT, r TEXT, s MEDIUMTEXT, t LONGTEXT ); RESET MASTER; *** Start replication *** START SLAVE; include/wait_for_slave_to_start.inc *** Insert data on master and display it. *** INSERT INTO t1 () VALUES ( 17.567, 2.123, 10.20, 125, hex(64), 'TEST', 'This is a test', 'binary data', 'more binary data', '6', '7', "blob 1", "blob 2", "blob 3", "blob 4", "text 1", "text 2", "text 3", "text 4"); SELECT * FROM t1 ORDER BY a; a b c d e f g h j k l m n o p q r s t 17.567 2.123 10.20 125 # TEST This is a test # more binary data 6 7 blob 1 blob 2 blob 3 blob 4 text 1 text 2 text 3 text 4 *** Select data from slave to compare *** SELECT * FROM t1 ORDER BY a; a b c d e f g h j k l m n o p q r s t 17.567 2.123000000 10.200000000000000000000000000000 125 # TEST This is a test # more binary data 6 7 blob 1 blob 2 blob 3 blob 4 text 1 text 2 text 3 text 4 DROP TABLE t1; Create varchar table on master CREATE TABLE t1 ( a VARCHAR(50), b VARCHAR(100), c VARCHAR(300), d CHAR(5) ); Alter varchar table on slave ALTER TABLE t1 CHANGE COLUMN a a VARCHAR(100); ALTER TABLE t1 CHANGE COLUMN b b VARCHAR(400); ALTER TABLE t1 CHANGE COLUMN c c VARCHAR(500); ALTER TABLE t1 CHANGE COLUMN d d CHAR(100); Insert some values and select them on master INSERT INTO t1 VALUES ("This is a test of col a.", "This is another test of col b.", "This is a test of the large col c.", "Col d"); SELECT * FROM t1; a b c d This is a test of col a. This is another test of col b. This is a test of the large col c. Col d SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(50) DEFAULT NULL, `b` varchar(100) DEFAULT NULL, `c` varchar(300) DEFAULT NULL, `d` char(5) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 Insert some values and select them on slave SELECT * FROM t1; a b c d This is a test of col a. This is another test of col b. This is a test of the large col c. Col d SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` varchar(100) DEFAULT NULL, `b` varchar(400) DEFAULT NULL, `c` varchar(500) DEFAULT NULL, `d` char(100) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; Create bit table on master CREATE TABLE t1 ( a BIT(7), b BIT(8), c BIT(21), d BIT(11), e BIT(11) ); Create bit table on slave DROP TABLE t1; CREATE TABLE t1 ( a BIT(16), b BIT(22), c BIT(54), d BIT(25), e BIT(13) ); Insert some values and select them on master INSERT INTO t1 VALUES ( b'1010101', b'10101011', b'101010110101010101111', b'10101010101', b'10101011111' ); SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1; BIN(a) BIN(b) BIN(c) BIN(d) BIN(e) 1010101 10101011 101010110101010101111 10101010101 10101011111 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` bit(7) DEFAULT NULL, `b` bit(8) DEFAULT NULL, `c` bit(21) DEFAULT NULL, `d` bit(11) DEFAULT NULL, `e` bit(11) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 Insert some values and select them on master SELECT BIN(a), BIN(b), BIN(c), BIN(d), BIN(e) FROM t1; BIN(a) BIN(b) BIN(c) BIN(d) BIN(e) 1010101 10101011 101010110101010101111 10101010101 10101011111 SHOW CREATE TABLE t1; Table Create Table t1 CREATE TABLE `t1` ( `a` bit(16) DEFAULT NULL, `b` bit(22) DEFAULT NULL, `c` bit(54) DEFAULT NULL, `d` bit(25) DEFAULT NULL, `e` bit(13) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1 *** Cleanup *** DROP TABLE t1; SET GLOBAL SLAVE_TYPE_CONVERSIONS = @saved_slave_type_conversions; include/rpl_end.inc