|
| 1 | +# |
| 2 | +# MDEV-11415 AVOID INTERMEDIATE COMMIT WHILE DOING |
| 3 | +# ALTER TABLE...ALGORITHM=COPY |
| 4 | +# |
| 5 | +CREATE TABLE t(a SERIAL, b INT, c INT, d INT) ENGINE=InnoDB; |
| 6 | +CREATE TABLE t1(a INT, b TEXT, c TEXT, |
| 7 | +FULLTEXT(b), FULLTEXT(c(3)), FULLTEXT(b,c)) ENGINE=InnoDB; |
| 8 | +BEGIN; |
| 9 | +COMMIT; |
| 10 | +SELECT COUNT(*) FROM t; |
| 11 | +COUNT(*) |
| 12 | +999 |
| 13 | +UPDATE t SET b=a%7, c=a%11, d=a%13; |
| 14 | +INSERT INTO t1 VALUES(1, 'This is a first b column', 'This is a first c column'); |
| 15 | +INSERT INTO t1 VALUES(2, 'This is a second b column', 'This is a second c column'); |
| 16 | +INSERT INTO t1(a) VALUES(3); |
| 17 | +INSERT INTO t1 VALUES(4, 'This is a third b column', 'This is a third c column'); |
| 18 | +DELETE FROM t1 WHERE a = 2; |
| 19 | +SELECT * FROM t1 WHERE MATCH(b) AGAINST ('first'); |
| 20 | +a b c |
| 21 | +1 This is a first b column This is a first c column |
| 22 | +SELECT * FROM t1 WHERE MATCH(c) AGAINST ('first'); |
| 23 | +a b c |
| 24 | +1 This is a first b column This is a first c column |
| 25 | +SELECT * FROM t1 WHERE MATCH(b,c) AGAINST ('column'); |
| 26 | +a b c |
| 27 | +1 This is a first b column This is a first c column |
| 28 | +4 This is a third b column This is a third c column |
| 29 | +SHOW CREATE TABLE t1; |
| 30 | +Table Create Table |
| 31 | +t1 CREATE TABLE `t1` ( |
| 32 | + `a` int(11) DEFAULT NULL, |
| 33 | + `b` text DEFAULT NULL, |
| 34 | + `c` text DEFAULT NULL, |
| 35 | + FULLTEXT KEY `b` (`b`), |
| 36 | + FULLTEXT KEY `c` (`c`), |
| 37 | + FULLTEXT KEY `b_2` (`b`,`c`) |
| 38 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
| 39 | +ALTER TABLE t1 FORCE, ALGORITHM=COPY; |
| 40 | +SET DEBUG_DBUG='+d,crash_commit_before'; |
| 41 | +ALTER TABLE t ADD INDEX(b,c,d,a),ADD INDEX(b,c,a,d),ADD INDEX(b,a,c,d),ADD INDEX(b,a,d,c), |
| 42 | +ADD INDEX(b,d,a,c),ADD INDEX(b,d,c,a),ADD INDEX(a,b,c,d),ADD INDEX(a,b,d,c), |
| 43 | +ADD INDEX(a,c,b,d),ADD INDEX(a,c,d,b),ADD INDEX(a,d,b,c),ADD INDEX(a,d,c,b), |
| 44 | +ADD INDEX(c,a,b,d),ADD INDEX(c,a,d,b),ADD INDEX(c,b,a,d),ADD INDEX(c,b,d,a), |
| 45 | +ADD INDEX(c,d,a,b),ADD INDEX(c,d,b,a),ADD INDEX(d,a,b,c),ADD INDEX(d,a,c,b), |
| 46 | +ADD INDEX(d,b,a,c),ADD INDEX(d,b,c,a),ADD INDEX(d,c,a,b),ADD INDEX(d,c,b,a), |
| 47 | +ADD INDEX(a,b,c), ADD INDEX(a,c,b), ADD INDEX(a,c,d), ADD INDEX(a,d,c), |
| 48 | +ADD INDEX(a,b,d), ADD INDEX(a,d,b), ADD INDEX(b,c,d), ADD INDEX(b,d,c), |
| 49 | +ALGORITHM=COPY; |
| 50 | +ERROR HY000: Lost connection to MySQL server during query |
| 51 | +#sql-temporary.frm |
| 52 | +#sql-temporary.ibd |
| 53 | +FTS_INDEX_1.ibd |
| 54 | +FTS_INDEX_2.ibd |
| 55 | +FTS_INDEX_3.ibd |
| 56 | +FTS_INDEX_4.ibd |
| 57 | +FTS_INDEX_5.ibd |
| 58 | +FTS_INDEX_6.ibd |
| 59 | +FTS_INDEX_1.ibd |
| 60 | +FTS_INDEX_2.ibd |
| 61 | +FTS_INDEX_3.ibd |
| 62 | +FTS_INDEX_4.ibd |
| 63 | +FTS_INDEX_5.ibd |
| 64 | +FTS_INDEX_6.ibd |
| 65 | +FTS_INDEX_1.ibd |
| 66 | +FTS_INDEX_2.ibd |
| 67 | +FTS_INDEX_3.ibd |
| 68 | +FTS_INDEX_4.ibd |
| 69 | +FTS_INDEX_5.ibd |
| 70 | +FTS_INDEX_6.ibd |
| 71 | +FTSBEING_DELETED.ibd |
| 72 | +FTSBEING_DELETED_CACHE.ibd |
| 73 | +FTSCONFIG.ibd |
| 74 | +FTSDELETED.ibd |
| 75 | +FTSDELETED_CACHE.ibd |
| 76 | +t.frm |
| 77 | +t.ibd |
| 78 | +t1.frm |
| 79 | +t1.ibd |
| 80 | +SHOW CREATE TABLE t; |
| 81 | +Table Create Table |
| 82 | +t CREATE TABLE `t` ( |
| 83 | + `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT, |
| 84 | + `b` int(11) DEFAULT NULL, |
| 85 | + `c` int(11) DEFAULT NULL, |
| 86 | + `d` int(11) DEFAULT NULL, |
| 87 | + UNIQUE KEY `a` (`a`) |
| 88 | +) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=latin1 |
| 89 | +SELECT COUNT(*) FROM t; |
| 90 | +COUNT(*) |
| 91 | +999 |
| 92 | +CHECK TABLE t; |
| 93 | +Table Op Msg_type Msg_text |
| 94 | +test.t check status OK |
| 95 | +SELECT * FROM t1 WHERE MATCH(b) AGAINST ('first'); |
| 96 | +a b c |
| 97 | +1 This is a first b column This is a first c column |
| 98 | +SELECT * FROM t1 WHERE MATCH(c) AGAINST ('first'); |
| 99 | +a b c |
| 100 | +1 This is a first b column This is a first c column |
| 101 | +SELECT * FROM t1 WHERE MATCH(b,c) AGAINST ('column'); |
| 102 | +a b c |
| 103 | +1 This is a first b column This is a first c column |
| 104 | +4 This is a third b column This is a third c column |
| 105 | +SHOW CREATE TABLE t1; |
| 106 | +Table Create Table |
| 107 | +t1 CREATE TABLE `t1` ( |
| 108 | + `a` int(11) DEFAULT NULL, |
| 109 | + `b` text DEFAULT NULL, |
| 110 | + `c` text DEFAULT NULL, |
| 111 | + FULLTEXT KEY `b` (`b`), |
| 112 | + FULLTEXT KEY `c` (`c`), |
| 113 | + FULLTEXT KEY `b_2` (`b`,`c`) |
| 114 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
| 115 | +CHECK TABLE t1; |
| 116 | +Table Op Msg_type Msg_text |
| 117 | +test.t1 check status OK |
| 118 | +#sql-temporary.frm |
| 119 | +#sql-temporary.ibd |
| 120 | +FTS_INDEX_1.ibd |
| 121 | +FTS_INDEX_2.ibd |
| 122 | +FTS_INDEX_3.ibd |
| 123 | +FTS_INDEX_4.ibd |
| 124 | +FTS_INDEX_5.ibd |
| 125 | +FTS_INDEX_6.ibd |
| 126 | +FTS_INDEX_1.ibd |
| 127 | +FTS_INDEX_2.ibd |
| 128 | +FTS_INDEX_3.ibd |
| 129 | +FTS_INDEX_4.ibd |
| 130 | +FTS_INDEX_5.ibd |
| 131 | +FTS_INDEX_6.ibd |
| 132 | +FTS_INDEX_1.ibd |
| 133 | +FTS_INDEX_2.ibd |
| 134 | +FTS_INDEX_3.ibd |
| 135 | +FTS_INDEX_4.ibd |
| 136 | +FTS_INDEX_5.ibd |
| 137 | +FTS_INDEX_6.ibd |
| 138 | +FTSBEING_DELETED.ibd |
| 139 | +FTSBEING_DELETED_CACHE.ibd |
| 140 | +FTSCONFIG.ibd |
| 141 | +FTSDELETED.ibd |
| 142 | +FTSDELETED_CACHE.ibd |
| 143 | +t.frm |
| 144 | +t.ibd |
| 145 | +t1.frm |
| 146 | +t1.ibd |
| 147 | +SHOW CREATE TABLE t; |
| 148 | +Table Create Table |
| 149 | +t CREATE TABLE `t` ( |
| 150 | + `a` bigint(20) unsigned NOT NULL AUTO_INCREMENT, |
| 151 | + `b` int(11) DEFAULT NULL, |
| 152 | + `c` int(11) DEFAULT NULL, |
| 153 | + `d` int(11) DEFAULT NULL, |
| 154 | + UNIQUE KEY `a` (`a`) |
| 155 | +) ENGINE=InnoDB AUTO_INCREMENT=1000 DEFAULT CHARSET=latin1 |
| 156 | +SELECT COUNT(*) FROM t; |
| 157 | +COUNT(*) |
| 158 | +999 |
| 159 | +CHECK TABLE t; |
| 160 | +Table Op Msg_type Msg_text |
| 161 | +test.t check status OK |
| 162 | +SELECT * FROM t1 WHERE MATCH(b) AGAINST ('first'); |
| 163 | +a b c |
| 164 | +1 This is a first b column This is a first c column |
| 165 | +SELECT * FROM t1 WHERE MATCH(c) AGAINST ('first'); |
| 166 | +a b c |
| 167 | +1 This is a first b column This is a first c column |
| 168 | +SELECT * FROM t1 WHERE MATCH(b,c) AGAINST ('column'); |
| 169 | +a b c |
| 170 | +1 This is a first b column This is a first c column |
| 171 | +4 This is a third b column This is a third c column |
| 172 | +SHOW CREATE TABLE t1; |
| 173 | +Table Create Table |
| 174 | +t1 CREATE TABLE `t1` ( |
| 175 | + `a` int(11) DEFAULT NULL, |
| 176 | + `b` text DEFAULT NULL, |
| 177 | + `c` text DEFAULT NULL, |
| 178 | + FULLTEXT KEY `b` (`b`), |
| 179 | + FULLTEXT KEY `c` (`c`), |
| 180 | + FULLTEXT KEY `b_2` (`b`,`c`) |
| 181 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
| 182 | +CHECK TABLE t1; |
| 183 | +Table Op Msg_type Msg_text |
| 184 | +test.t1 check status OK |
| 185 | +#sql-temporary.frm |
| 186 | +FTS_INDEX_1.ibd |
| 187 | +FTS_INDEX_2.ibd |
| 188 | +FTS_INDEX_3.ibd |
| 189 | +FTS_INDEX_4.ibd |
| 190 | +FTS_INDEX_5.ibd |
| 191 | +FTS_INDEX_6.ibd |
| 192 | +FTS_INDEX_1.ibd |
| 193 | +FTS_INDEX_2.ibd |
| 194 | +FTS_INDEX_3.ibd |
| 195 | +FTS_INDEX_4.ibd |
| 196 | +FTS_INDEX_5.ibd |
| 197 | +FTS_INDEX_6.ibd |
| 198 | +FTS_INDEX_1.ibd |
| 199 | +FTS_INDEX_2.ibd |
| 200 | +FTS_INDEX_3.ibd |
| 201 | +FTS_INDEX_4.ibd |
| 202 | +FTS_INDEX_5.ibd |
| 203 | +FTS_INDEX_6.ibd |
| 204 | +FTSBEING_DELETED.ibd |
| 205 | +FTSBEING_DELETED_CACHE.ibd |
| 206 | +FTSCONFIG.ibd |
| 207 | +FTSDELETED.ibd |
| 208 | +FTSDELETED_CACHE.ibd |
| 209 | +t.frm |
| 210 | +t.ibd |
| 211 | +t1.frm |
| 212 | +t1.ibd |
| 213 | +DROP TABLE t1,t; |
0 commit comments