--source include/have_innodb.inc
--source include/have_sequence.inc
--source include/have_debug.inc

SET @save_debug=@@GLOBAL.INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG;
SET @save_scrub=@@GLOBAL.INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED;

SET GLOBAL INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED=1;
SET GLOBAL INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=2;
let $MYSQLD_DATADIR=`select @@datadir`;
CREATE TABLE t1(f1 INT AUTO_INCREMENT PRIMARY KEY,
		f2 VARCHAR(256) GENERATED ALWAYS as('repairman'),
		INDEX idx(f2))ENGINE= InnoDB STATS_PERSISTENT=0;
INSERT INTO t1(f1) SELECT seq FROM seq_1_to_50;
FLUSH TABLE t1 FOR EXPORT;
let SEARCH_PATTERN= repairman;
let SEARCH_FILE= $MYSQLD_DATADIR/test/t1.ibd;
-- source include/search_pattern_in_file.inc
UNLOCK TABLES;

ALTER TABLE t1 DROP INDEX idx;
-- source include/wait_all_purged.inc
FLUSH TABLE t1 FOR EXPORT;
-- source include/search_pattern_in_file.inc
UNLOCK TABLES;
DROP TABLE t1;

--echo #
--echo # MDEV-37183 innodb_immediate_scrub_data_uncompressed=ON may break
--echo # crash recovery
--echo #
SET GLOBAL innodb_limit_optimistic_insert_debug=0;
# Note: MariaDB 10.6 fails to reproduce the crash; it maps DESC to ASC.
CREATE TABLE t(a VARCHAR(1) PRIMARY KEY,INDEX(a DESC)) ENGINE=InnoDB;
INSERT INTO t VALUES('2'),('1'),(''),('6'),('4'),('3');
SET GLOBAL innodb_limit_optimistic_insert_debug=3;
INSERT INTO t VALUES('8');
CHECK TABLE t;
SELECT COUNT(*) FROM t;
DROP TABLE t;

SET GLOBAL INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG=@save_debug;
SET GLOBAL INNODB_IMMEDIATE_SCRUB_DATA_UNCOMPRESSED=@save_scrub;
