mariadb/mysql-test/suite/innodb/r/page_cleaner.result
2025-04-02 14:07:01 +03:00

37 lines
1.5 KiB
Text

SET @save_pct= @@GLOBAL.innodb_max_dirty_pages_pct;
SET @save_pct_lwm= @@GLOBAL.innodb_max_dirty_pages_pct_lwm;
SET GLOBAL innodb_max_dirty_pages_pct_lwm=0.0;
SET GLOBAL innodb_max_dirty_pages_pct=0.0;
CREATE TABLE t(a INT) ENGINE=InnoDB STATS_PERSISTENT=0;
connect prevent_purge,localhost,root;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
connection default;
SET GLOBAL innodb_max_purge_lag_wait=0;
SET GLOBAL innodb_max_dirty_pages_pct=90.0;
select variable_value into @innodb_async_writes_total_count_before
from information_schema.global_status
where variable_name='innodb_async_writes_total_count';
SELECT variable_value INTO @log_writes FROM information_schema.global_status
WHERE variable_name='innodb_log_writes';
BEGIN;
ROLLBACK;
SELECT if(variable_value-@log_writes<500,'ok',variable_value-@log_writes)
FROM information_schema.global_status WHERE variable_name='innodb_log_writes';
if(variable_value-@log_writes<500,'ok',variable_value-@log_writes)
ok
disconnect prevent_purge;
SELECT variable_value>0 FROM information_schema.global_status
WHERE variable_name = 'INNODB_BUFFER_POOL_PAGES_DIRTY';
variable_value>0
1
SET GLOBAL innodb_max_dirty_pages_pct=0.0;
select (cast(variable_value as unsigned) >
cast(@innodb_async_writes_total_count_before as unsigned))
as innodb_async_writes_grow
from information_schema.global_status
where variable_name='innodb_async_writes_total_count';
innodb_async_writes_grow
1
DROP TABLE t;
SET GLOBAL innodb_max_dirty_pages_pct = @save_pct;
SET GLOBAL innodb_max_dirty_pages_pct_lwm = @save_pct_lwm;