1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-36061 Incorrect error handling on DDL with FULLTEXT INDEX

row_create_index_for_mysql(): Tolerate DB_LOCK_TABLE_FULL better.

fts_create_one_common_table(), fts_create_one_index_table():
Do not corrupt the error state of a non-active transaction object.

fts_config_set_value(): Only run another statement if there was
no error yet.
This commit is contained in:
Marko Mäkelä
2025-02-12 14:24:19 +02:00
committed by Sergei Golubchik
parent c07e355c40
commit 7587b0ec84
5 changed files with 20 additions and 8 deletions

View File

@@ -5,6 +5,9 @@ id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
title VARCHAR(200),
content TEXT
) ENGINE= InnoDB;
SET STATEMENT debug_dbug='+d,innodb_report_deadlock' FOR
CREATE FULLTEXT INDEX idx ON articles (title, content);
ERROR HY000: Got error 11 "Resource temporarily unavailable" from storage engine InnoDB
CREATE FULLTEXT INDEX idx ON articles (title, content);
INSERT INTO articles (title, content) VALUES
('MySQL Tutorial','DBMS stands for MySQL DataBase ...'),

View File

@@ -3,6 +3,9 @@
-- source include/have_innodb.inc
-- source include/have_debug.inc
--disable_query_log
call mtr.add_suppression("InnoDB: \\(Deadlock\\) writing `use_stopword'");
--enable_query_log
SET @optimize=@@GLOBAL.INNODB_OPTIMIZE_FULLTEXT_ONLY;
SET GLOBAL INNODB_OPTIMIZE_FULLTEXT_ONLY=1;
@@ -14,6 +17,9 @@ CREATE TABLE articles (
content TEXT
) ENGINE= InnoDB;
--error ER_GET_ERRNO
SET STATEMENT debug_dbug='+d,innodb_report_deadlock' FOR
CREATE FULLTEXT INDEX idx ON articles (title, content);
CREATE FULLTEXT INDEX idx ON articles (title, content);
INSERT INTO articles (title, content) VALUES