mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-27 00:48:30 +01:00 
			
		
		
		
	 1f4a9f086a
			
		
	
	
	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;
 |