2010-09-07 16:06:33 +00:00
|
|
|
--source include/have_tokudb.inc
|
2012-10-04 14:31:31 +00:00
|
|
|
SET DEFAULT_STORAGE_ENGINE = tokudb;
|
2010-09-07 16:06:33 +00:00
|
|
|
#
|
|
|
|
# Bug #22161: Duplicate key error with non-unique index after alter
|
|
|
|
#
|
|
|
|
--echo *** Bug #22161 ***
|
|
|
|
--disable_warnings
|
|
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
--enable_warnings
|
|
|
|
|
|
|
|
CREATE TABLE t1 (a longtext);
|
|
|
|
begin;
|
|
|
|
|
|
|
|
INSERT INTO t1 VALUES (repeat('1',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_1;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('2',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_2;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('3',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_3;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('4',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_4;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('5',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_5;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('6',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_6;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('7',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_7;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('8',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_8;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('9',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_9;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('a',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_a;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('b',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_b;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('c',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_c;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('d',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_d;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('e',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_e;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('f',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_f;
|
|
|
|
|
|
|
|
update t1 set a=(repeat('g',1000000));
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
savepoint x_g;
|
|
|
|
|
|
|
|
rollback to savepoint x_f;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_e;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_d;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_c;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_b;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_a;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_9;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_8;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_7;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_6;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_5;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_4;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_3;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_2;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback to savepoint x_1;
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
rollback;
|
|
|
|
|
|
|
|
select * from t1;
|
|
|
|
select count(*) from t1;
|
|
|
|
|
|
|
|
# Final cleanup
|
|
|
|
DROP TABLE t1;
|