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 ad733eee3a7..7feeee768ff 100644 --- a/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test +++ b/mysql-test/suite/gcol/t/innodb_virtual_debug_purge.test @@ -124,7 +124,7 @@ SELECT * FROM t1; DROP TABLE t1; -# Test adding virutal index on existing virtual column +# Test adding index on existing virtual column CREATE TABLE t1 (a INT, b INT, c INT GENERATED ALWAYS AS(a+b)); INSERT INTO t1(a, b) VALUES (1, 1), (2, 2), (3, 3), (4, 4); @@ -156,7 +156,9 @@ INSERT INTO t1(a, b) VALUES (8, 8); COMMIT; --echo # wait for purge to process the deleted/updated records. +let $wait_all_purged=1; --source ../../innodb/include/wait_all_purged.inc +let $wait_all_purged=0; SET DEBUG_SYNC= 'now SIGNAL purged'; diff --git a/mysql-test/suite/innodb/include/wait_all_purged.inc b/mysql-test/suite/innodb/include/wait_all_purged.inc index 7dbb59a5d32..c7a16888829 100644 --- a/mysql-test/suite/innodb/include/wait_all_purged.inc +++ b/mysql-test/suite/innodb/include/wait_all_purged.inc @@ -1,12 +1,18 @@ # Wait for everything to be purged. # The user should have set innodb_purge_rseg_truncate_frequency=1. +if (!$wait_all_purged) +{ + let $wait_all_purged= 0; +} +let $remaining_expect= `select concat('InnoDB ',$wait_all_purged)`; + let $wait_counter= 300; while ($wait_counter) { --replace_regex /.*History list length ([0-9]+).*/\1/ let $remaining= `SHOW ENGINE INNODB STATUS`; - if ($remaining == 'InnoDB 0') + if ($remaining == $remaining_expect) { let $wait_counter= 0; }