--source include/have_innodb.inc --echo # --echo # MDEV-37753 lock_sec_rec_some_has_impl() unnecessarily fetches history --echo # CREATE TABLE t(a INT PRIMARY KEY, b TEXT, UNIQUE(b(1))) ENGINE=InnoDB STATS_PERSISTENT=0; connect (purge_control,localhost,root,,); START TRANSACTION WITH CONSISTENT SNAPSHOT; connection default; SET GLOBAL innodb_max_purge_lag_wait=1; INSERT INTO t VALUES (1,REPEAT('x',@@innodb_page_size/2)),(2,REPEAT('z',@@innodb_page_size/2)); DELETE FROM t; SELECT variable_value INTO @reads FROM information_schema.global_status WHERE variable_name = 'INNODB_BUFFER_POOL_READ_REQUESTS'; INSERT INTO t VALUES(0,'y'),(1,'x'),(2,'z'); SELECT variable_value-@reads INTO @diff FROM information_schema.global_status WHERE variable_name = 'INNODB_BUFFER_POOL_READ_REQUESTS'; # Typically, this reports 24 pages accessed. # If the fix is absent, we would access at least 26 pages. SELECT if(@diff between 22 and 25,'ok',@diff); disconnect purge_control; DROP TABLE t;