mirror of
https://github.com/MariaDB/server.git
synced 2025-02-05 13:22:17 +01:00
![Marko Mäkelä](/assets/img/avatar_default.png)
buf_page_t::set_state(): Relax a debug assertion. It is fine to update
a read-fixed block descriptor to be both read-fixed and buffer-fixed.
buf_pool_t::watch_unset(): Fix some incorrect logic that was implemented
in commit e9e6db9355
.
Thanks to Elena Stepanova for the test case.
67 lines
1.4 KiB
Text
67 lines
1.4 KiB
Text
--source include/have_innodb.inc
|
|
--source include/have_sequence.inc
|
|
|
|
SET @buffering= @@innodb_change_buffering;
|
|
SET GLOBAL innodb_change_buffering= deletes;
|
|
SET @flush= @@innodb_flush_log_at_trx_commit;
|
|
SET GLOBAL innodb_flush_log_at_trx_commit= 0;
|
|
|
|
CREATE TABLE t1 (
|
|
a varchar(1024),
|
|
b varchar(1024),
|
|
c varchar(1024),
|
|
d varchar(1024),
|
|
e varchar(1024),
|
|
f varchar(1024),
|
|
g varchar(1024),
|
|
h varchar(1024),
|
|
key (a),
|
|
key (b),
|
|
key (c),
|
|
key (d)
|
|
) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1
|
|
SELECT REPEAT('x',10), REPEAT('x',13), REPEAT('x',427), REPEAT('x',244),
|
|
REPEAT('x',9), REPEAT('x',112), REPEAT('x',814), REPEAT('x',633)
|
|
FROM seq_1_to_1024;
|
|
|
|
CREATE TEMPORARY TABLE t2 (
|
|
a varchar(1024),
|
|
b varchar(1024),
|
|
c varchar(1024),
|
|
d varchar(1024),
|
|
e varchar(1024),
|
|
f varchar(1024),
|
|
g varchar(1024),
|
|
h varchar(1024),
|
|
i varchar(1024),
|
|
j varchar(1024),
|
|
k varchar(1024),
|
|
l varchar(1024),
|
|
m varchar(1024),
|
|
key (a),
|
|
key (b),
|
|
key (c),
|
|
key (d),
|
|
key (e),
|
|
key (f)
|
|
) ENGINE=InnoDB;
|
|
|
|
SET @x=REPEAT('x',512);
|
|
INSERT INTO t2 SELECT @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x, @x
|
|
FROM seq_1_to_768;
|
|
|
|
--disable_query_log
|
|
--let $run=1024
|
|
while ($run)
|
|
{
|
|
eval DELETE FROM t1 LIMIT 1 /* $run */;
|
|
--dec $run
|
|
}
|
|
--enable_query_log
|
|
|
|
# Cleanup
|
|
DROP TABLE t1, t2;
|
|
SET GLOBAL innodb_change_buffering= @buffering;
|
|
SET GLOBAL innodb_flush_log_at_trx_commit= @flush;
|