mirror of
https://github.com/MariaDB/server.git
synced 2025-07-24 19:42:23 +03:00
row_undo_step(): If innodb_fast_shutdown=3 has been requested, abort the rollback of any non-DDL transactions. Starting with MDEV-12323, we aborted the rollback of recovered transactions. The transactions would be rolled back on subsequent server startup. trx_roll_report_progress(): Renamed from trx_roll_must_shutdown(), now that the shutdown check has been moved to the only caller. trx_commit_low(): Allow mtr=NULL for transactions that are aborted on rollback. trx_rollback_finish(): Clean up aborted transactions to avoid assertion failures and memory leaks on shutdown. This code was previously in trx_rollback_active(). trx_rollback_to_savepoint_low(), trx_rollback_for_mysql_low(): Remove some redundant assertions.
90 lines
2.8 KiB
Plaintext
90 lines
2.8 KiB
Plaintext
CREATE TABLE worklog5743 (
|
|
col_1_text TEXT(4000) , col_2_text TEXT(4000) ,
|
|
PRIMARY KEY (col_1_text(3072))
|
|
) ROW_FORMAT=DYNAMIC, engine = innodb;
|
|
INSERT INTO worklog5743 VALUES(REPEAT("a", 3500) , REPEAT("o", 3500));
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
connect con1,localhost,root,,;
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
connect con2,localhost,root,,;
|
|
START TRANSACTION;
|
|
INSERT INTO worklog5743 VALUES(REPEAT("b", 3500) , REPEAT("o", 3500));
|
|
connection con1;
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
START TRANSACTION;
|
|
connection default;
|
|
SET GLOBAL innodb_fast_shutdown=3;
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
disconnect con1;
|
|
disconnect con2;
|
|
connect con1,localhost,root,,;
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
START TRANSACTION;
|
|
INSERT INTO worklog5743 VALUES(REPEAT("b", 3500) , REPEAT("o", 3500));
|
|
DELETE FROM worklog5743 WHERE col_1_text = REPEAT("b", 3500);
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
connection default;
|
|
SET GLOBAL innodb_fast_shutdown=3;
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
disconnect con1;
|
|
connect con2,localhost,root,,;
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
START TRANSACTION;
|
|
UPDATE worklog5743 SET col_1_text = REPEAT("b", 3500) WHERE col_1_text = REPEAT("a", 3500);
|
|
SELECT col_1_text = REPEAT("b", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("b", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
connection default;
|
|
SET GLOBAL innodb_fast_shutdown=3;
|
|
SELECT COUNT(*) FROM worklog5743;
|
|
COUNT(*)
|
|
1
|
|
SELECT col_1_text = REPEAT("a", 3500) , col_2_text = REPEAT("o", 3500) FROM
|
|
worklog5743;
|
|
col_1_text = REPEAT("a", 3500) col_2_text = REPEAT("o", 3500)
|
|
1 1
|
|
DROP TABLE worklog5743;
|