mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-10424 - Assertion `ticket == __null' failed in MDL_request::set_type
Reexecution of prepared "ANALYZE TABLE merge_table, table" may miss to reinitialize "table" for subsequent execution and trigger assertion failure. This happens because MERGE engine may adjust table->next_global chain, which gets cleared by close_thread_tables()/ha_myisammrg::detach_children() later. Since reinitilization iterates next_global chain, it won't see tables following merge table. Fixed by appending saved next_global chain after merge children.
This commit is contained in:
@ -3832,4 +3832,21 @@ test.m1 repair error Corrupt
|
||||
# Clean-up.
|
||||
drop tables m1, t1, t4;
|
||||
drop view t3;
|
||||
#
|
||||
# MDEV-10424 - Assertion `ticket == __null' failed in
|
||||
# MDL_request::set_type
|
||||
#
|
||||
CREATE TABLE t1 (f1 INT) ENGINE=MyISAM;
|
||||
CREATE TABLE tmerge (f1 INT) ENGINE=MERGE UNION=(t1);
|
||||
PREPARE stmt FROM "ANALYZE TABLE tmerge, t1";
|
||||
EXECUTE stmt;
|
||||
Table Op Msg_type Msg_text
|
||||
test.tmerge analyze note The storage engine for the table doesn't support analyze
|
||||
test.t1 analyze status Table is already up to date
|
||||
EXECUTE stmt;
|
||||
Table Op Msg_type Msg_text
|
||||
test.tmerge analyze note The storage engine for the table doesn't support analyze
|
||||
test.t1 analyze status Table is already up to date
|
||||
DEALLOCATE PREPARE stmt;
|
||||
DROP TABLE t1, tmerge;
|
||||
End of 5.5 tests
|
||||
|
Reference in New Issue
Block a user