1include/master-slave.inc 2[connection master] 3connection master; 4CREATE TABLE t1 (a int, b varchar(100), fulltext(b)) engine=MyISAM; 5INSERT INTO t1 VALUES (1,"a"), (2,"b"); 6UPDATE t1 SET b='A' WHERE a=1; 7DELETE FROM t1 WHERE a=2; 8connection slave; 9connection slave; 10SELECT * FROM t1 ORDER BY a; 11a b 121 A 13connection master; 14DROP TABLE t1; 15connection master; 16CREATE TABLE t1 (d INT PRIMARY KEY) ENGINE=myisam; 17INSERT INTO t1 VALUES (0); 18INSERT INTO t1 SELECT d+1 FROM t1; 19INSERT INTO t1 SELECT d+2 FROM t1; 20INSERT INTO t1 SELECT d+4 FROM t1; 21INSERT INTO t1 SELECT d+8 FROM t1; 22INSERT INTO t1 SELECT d+16 FROM t1; 23INSERT INTO t1 SELECT d+32 FROM t1; 24INSERT INTO t1 SELECT d+64 FROM t1; 25INSERT INTO t1 SELECT d+128 FROM t1; 26INSERT INTO t1 SELECT d+256 FROM t1; 27INSERT INTO t1 SELECT d+512 FROM t1; 28CREATE TABLE t2 (a INT, b INT, c INT, d INT, 29KEY wrong_key(a), 30KEY expected_key(b,c), 31KEY wrong_key2(c)) ENGINE=myisam; 32INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d FROM t1; 33connection slave; 34connection slave; 35ANALYZE TABLE t2; 36Table Op Msg_type Msg_text 37test.t2 analyze status OK 38# Slave will crash if using the wrong or no index 39SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan"; 40connection master; 41UPDATE t2 SET d=10042 WHERE d=42; 42DELETE FROM t2 WHERE d=53; 43connection slave; 44connection slave; 45SET GLOBAL debug_dbug=""; 46SELECT * FROM t2 WHERE d IN (10042,53); 47a b c d 484 1 5 10042 49connection master; 50DROP TABLE t2; 51CREATE TABLE t2 (a INT, b INT, c INT, d INT NOT NULL, e INT, 52UNIQUE wrong_key3(a,e), 53KEY wrong_key4(b,c), 54UNIQUE expected_key(d)) ENGINE=myisam; 55INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d, NULL FROM t1; 56connection slave; 57connection slave; 58ANALYZE TABLE t2; 59Table Op Msg_type Msg_text 60test.t2 analyze status OK 61# Slave will crash if using the wrong or no index 62SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan"; 63connection master; 64UPDATE t2 SET d=10042 WHERE d=42; 65DELETE FROM t2 WHERE d=53; 66connection slave; 67connection slave; 68SET GLOBAL debug_dbug=""; 69SELECT * FROM t2 WHERE d IN (10042,53); 70a b c d e 714 1 5 10042 NULL 72connection master; 73DROP TABLE t2; 74CREATE TABLE t2 (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT NOT NULL, 75KEY wrong_key5(b), 76UNIQUE expected_key(d), 77KEY wrong_key6(c)) ENGINE=myisam; 78INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d FROM t1; 79connection slave; 80connection slave; 81# Slave will crash if using the wrong or no index 82SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan"; 83connection master; 84UPDATE t2 SET d=10042 WHERE d=42; 85DELETE FROM t2 WHERE d=53; 86connection slave; 87connection slave; 88SET GLOBAL debug_dbug=""; 89SELECT * FROM t2 WHERE d IN (10042,53); 90a b c d 914 1 5 10042 92connection master; 93DROP TABLE t2; 94CREATE TABLE t2 (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT NOT NULL, 95KEY expected_key(b), 96KEY wrong_key7(d), 97KEY wrong_key8(c)) ENGINE=myisam; 98INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d FROM t1; 99connection slave; 100connection slave; 101# Slave will crash if using the wrong or no index 102SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan"; 103connection master; 104UPDATE t2 SET d=10042 WHERE d=42; 105DELETE FROM t2 WHERE d=53; 106connection slave; 107connection slave; 108SET GLOBAL debug_dbug=""; 109SELECT * FROM t2 WHERE d IN (10042,53); 110a b c d 1114 1 5 10042 112connection master; 113DROP TABLE t2; 114CREATE TABLE t2 (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT, 115UNIQUE wrong_key9(d), 116KEY wrong_key10(a), 117PRIMARY KEY expected_key(c,b)) ENGINE=innodb; 118INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d FROM t1; 119connection slave; 120connection slave; 121# Slave will crash if using the wrong or no index 122SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan,slave_crash_if_index_scan"; 123connection master; 124UPDATE t2 SET d=10042 WHERE d=42; 125DELETE FROM t2 WHERE d=53; 126connection slave; 127connection slave; 128SET GLOBAL debug_dbug=""; 129SELECT * FROM t2 WHERE d IN (10042,53); 130a b c d 1314 1 5 10042 132connection master; 133DROP TABLE t2; 134CREATE TABLE t2 (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT, e INT, 135UNIQUE wrong_key11(e), 136KEY wrong_key12(a), 137KEY expected_key(c,b)) ENGINE=innodb; 138INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d, IF(d<10, d, NULL) FROM t1; 139connection slave; 140connection slave; 141ANALYZE TABLE t2; 142Table Op Msg_type Msg_text 143test.t2 analyze status OK 144# Slave will crash if using the wrong or no index 145SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan"; 146connection master; 147UPDATE t2 SET d=10042 WHERE d=42; 148DELETE FROM t2 WHERE d=53; 149connection slave; 150connection slave; 151SET GLOBAL debug_dbug=""; 152SELECT * FROM t2 WHERE d IN (10042,53); 153a b c d e 1544 1 5 10042 NULL 155connection master; 156DROP TABLE t2; 157CREATE TABLE t2 (a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, d INT, e INT, 158KEY wrong_key13(a), 159UNIQUE expected_key(e), 160KEY wrong_key14(c,b)) ENGINE=innodb; 161INSERT INTO t2 SELECT d DIV 10, d MOD 41, d MOD 37, d, IF(d<10, d, NULL) FROM t1; 162connection slave; 163connection slave; 164# Slave will crash if using the wrong or no index 165SET GLOBAL debug_dbug="+d,slave_crash_if_wrong_index,slave_crash_if_table_scan"; 166connection master; 167UPDATE t2 SET d=10042 WHERE d=42; 168DELETE FROM t2 WHERE d=53; 169connection slave; 170connection slave; 171SET GLOBAL debug_dbug=""; 172SELECT * FROM t2 WHERE d IN (10042,53); 173a b c d e 1744 1 5 10042 NULL 175connection master; 176DROP TABLE t2; 177CREATE TABLE t2 (a INT NOT NULL, d INT) ENGINE=innodb; 178INSERT INTO t2 SELECT d DIV 10, d FROM t1; 179UPDATE t2 SET d=10042 WHERE d=42; 180DELETE FROM t2 WHERE d=53; 181connection slave; 182connection slave; 183SELECT * FROM t2 WHERE d IN (10042,53); 184a d 1854 10042 186connection master; 187DROP TABLE t2; 188connection master; 189DROP TABLE t1; 190connection slave; 191connection slave; 192SET GLOBAL debug_dbug=""; 193include/rpl_end.inc 194