mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
1f4a9f086a
This was done after discussions with Igor, Sanja and Bar. The main reason for removing the deprication was to ensure that MariaDB is always backward compatible whenever possible. Other things: - Added statistics counters, mainly for the feedback plugin. - INTO OUTFILE - INTO variable - If INTO is using the old syntax (end of query)
45 lines
1.4 KiB
Text
45 lines
1.4 KiB
Text
#
|
|
# BUG#40827 - Killing insert-select to MyISAM can cause table corruption
|
|
#
|
|
CONNECT insertConn, localhost, root,,;
|
|
CREATE TABLE `t1` (
|
|
`id` BIGINT(20) ,
|
|
`id1` BIGINT(20) AUTO_INCREMENT,
|
|
KEY(id1), KEY(id)
|
|
) ENGINE=MyISAM;
|
|
CREATE TABLE `t2` (
|
|
`id` BIGINT(20) ,
|
|
`id1` BIGINT(20) AUTO_INCREMENT,
|
|
KEY (id1), KEY(id)
|
|
) ENGINE=MyISAM;
|
|
INSERT INTO t2 (id) VALUES (123);
|
|
connection insertConn;
|
|
SET SESSION debug_dbug='+d,wait_in_enable_indexes';
|
|
# Send insert data
|
|
INSERT INTO t1(id) SELECT id FROM t2;
|
|
connection default;
|
|
# Wait for insert data to reach the debug point
|
|
SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST
|
|
WHERE STATE = 'wait_in_enable_indexes' AND
|
|
INFO = "INSERT INTO t1(id) SELECT id FROM t2"
|
|
INTO @thread_id;
|
|
KILL QUERY @thread_id;
|
|
CHECK TABLE t1;
|
|
Table Op Msg_type Msg_text
|
|
test.t1 check status OK
|
|
DROP TABLE t1,t2;
|
|
disconnect insertConn;
|
|
call mtr.add_suppression("Index for table '.*test.t1\\.MYI' is corrupt; try to repair it");
|
|
create table t1 (a int, index(a));
|
|
lock tables t1 write;
|
|
insert t1 values (1),(2),(1);
|
|
set @old_dbug=@@debug_dbug;
|
|
SET debug_dbug='+d,mi_lock_database_failure';
|
|
unlock tables;
|
|
ERROR HY000: Index for table './test/t1.MYI' is corrupt; try to repair it
|
|
SHOW WARNINGS;
|
|
Level Code Message
|
|
Error 126 Index for table './test/t1.MYI' is corrupt; try to repair it
|
|
Error 1030 Got error 22 "Invalid argument" from storage engine MyISAM
|
|
SET debug_dbug=@old_dbug;
|
|
drop table t1;
|