mirror of
https://github.com/MariaDB/server.git
synced 2025-11-27 05:41:41 +03:00
The test was unnecessarily depending on InnoDB purge, which can sometimes fail to proceed. Let us rewrite the test to use BEGIN;INSERT;ROLLBACK to cause the immediate removal of the desired records.
60 lines
1.8 KiB
Plaintext
60 lines
1.8 KiB
Plaintext
set @old_innodb_limit_optimistic_insert_debug = @@innodb_limit_optimistic_insert_debug;
|
|
CREATE TABLE t1 (a int not null primary key) engine=InnoDB;
|
|
set global innodb_limit_optimistic_insert_debug = 2;
|
|
insert into t1 values (1);
|
|
begin;
|
|
insert into t1 values (5);
|
|
begin;
|
|
insert into t1 values (4);
|
|
insert into t1 values (3);
|
|
begin;
|
|
insert into t1 values (2);
|
|
analyze table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 analyze status OK
|
|
select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
|
|
DATA_LENGTH / 16384
|
|
10.0000
|
|
rollback;
|
|
analyze table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 analyze status OK
|
|
select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
|
|
DATA_LENGTH / 16384
|
|
8.0000
|
|
rollback;
|
|
analyze table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 analyze status OK
|
|
select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
|
|
DATA_LENGTH / 16384
|
|
5.0000
|
|
set global innodb_limit_optimistic_insert_debug = 10000;
|
|
rollback;
|
|
analyze table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 analyze status OK
|
|
select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
|
|
DATA_LENGTH / 16384
|
|
3.0000
|
|
begin;
|
|
insert into t1 values (2);
|
|
rollback;
|
|
analyze table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 analyze status OK
|
|
select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
|
|
DATA_LENGTH / 16384
|
|
2.0000
|
|
begin;
|
|
insert into t1 values (2);
|
|
rollback;
|
|
analyze table t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 analyze status OK
|
|
select DATA_LENGTH / 16384 from information_schema.TABLES where TABLE_SCHEMA = 'test' and TABLE_NAME = 't1';
|
|
DATA_LENGTH / 16384
|
|
1.0000
|
|
drop table t1;
|
|
set global innodb_limit_optimistic_insert_debug = @old_innodb_limit_optimistic_insert_debug;
|