diff --git a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
|
index 1862de268af..5e2cf3fd59b 100644
|
--- a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
|
+++ b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test
|
@@ -184,7 +184,8 @@ connection default;
|
update t set a = repeat('m', 16000) where a like "aaa%";
|
connect(lock_table, localhost, root);
|
lock table t write;
|
-disconnect prevent_purge;
|
+connection prevent_purge;
|
+commit;
|
connection default;
|
--source ../../innodb/include/wait_all_purged.inc
|
disconnect lock_table;
|
@@ -194,6 +195,28 @@ commit;
|
set global debug_dbug=@old_dbug;
|
drop table t;
|
|
+CREATE TABLE t1(
|
+ u INT PRIMARY KEY, b BLOB, ug INT GENERATED ALWAYS AS (u) VIRTUAL,
|
+ INDEX bug(b(100),ug)
|
+) ENGINE=InnoDB;
|
+INSERT INTO t1 (u,b) VALUES(1,REPEAT('a',16384));
|
+connection prevent_purge;
|
+start transaction with consistent snapshot;
|
+connection default;
|
+DELETE FROM t1;
|
+SET DEBUG_SYNC='blob_write_middle SIGNAL halfway WAIT_FOR purged';
|
+send INSERT INTO t1 (u,b) VALUES(1,REPEAT('a',16384));
|
+connection prevent_purge;
|
+SET DEBUG_SYNC='now WAIT_FOR halfway';
|
+COMMIT;
|
+--source ../../innodb/include/wait_all_purged.inc
|
+SET DEBUG_SYNC='now SIGNAL purged';
|
+disconnect prevent_purge;
|
+
|
+connection default;
|
+reap;
|
+DROP TABLE t1;
|
+
|
--source include/wait_until_count_sessions.inc
|
set debug_sync=reset;
|
SET GLOBAL innodb_purge_rseg_truncate_frequency = @saved_frequency;
|