mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	 bb2e125d07
			
		
	
	
	bb2e125d07
	
	
	
		
			
			This excludes commit040069f4babecause it is specific to innodb_sync_debug, which had been removed in commitff5d306e29.
		
			
				
	
	
		
			94 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # Not supported in embedded
 | |
| --source include/not_embedded.inc
 | |
| 
 | |
| # This test case needs to crash the server. Needs a debug server.
 | |
| --source include/have_debug.inc
 | |
| 
 | |
| # Don't test this under valgrind, memory leaks will occur.
 | |
| --source include/not_valgrind.inc
 | |
| 
 | |
| # Avoid CrashReporter popup on Mac
 | |
| --source include/not_crashrep.inc
 | |
| 
 | |
| --source include/innodb_page_size.inc
 | |
| 
 | |
| --source include/have_debug_sync.inc
 | |
| 
 | |
| call mtr.add_suppression("Cannot find index f2 in InnoDB index dictionary.");
 | |
| call mtr.add_suppression("InnoDB indexes are inconsistent with what defined in .frm for table");
 | |
| call mtr.add_suppression("Table test/t1 contains 1 indexes inside InnoDB, which is different from the number of indexes 2 defined in");
 | |
| call mtr.add_suppression("InnoDB could not find key no 1 with name f2 from dict cache for table");
 | |
| 
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug #18734396	INNODB IN-PLACE ALTER FAILURES BLOCK FUTURE ALTERS
 | |
| --echo #
 | |
| --echo # Temporary tablename will be unique. This makes sure that future
 | |
| --echo # in-place ALTERs of the same table will not be blocked due to
 | |
| --echo # temporary tablename.
 | |
| 
 | |
| let datadir= `select @@datadir`;
 | |
| 
 | |
| --let $_expect_file_name= `select regexp_replace(@@tmpdir, '^.*/','')`
 | |
| --let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/$_expect_file_name.expect
 | |
| 
 | |
| CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL) ENGINE=innodb;
 | |
| SET debug_dbug='+d,innodb_alter_commit_crash_before_commit';
 | |
| 
 | |
| --write_line wait $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
 | |
| 
 | |
| --error 2013
 | |
| ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
 | |
| 
 | |
| --source include/start_mysqld.inc
 | |
| 
 | |
| show create table t1;
 | |
| --echo # Consecutive Alter table does not create same temporary file name
 | |
| ALTER TABLE t1 ADD PRIMARY KEY (f2, f1);
 | |
| show create table t1;
 | |
| drop table t1;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-22928 InnoDB fails to fetch index type
 | |
| --echo # 	when index mismatch
 | |
| --echo #
 | |
| CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL,
 | |
|                 index(f1), index(f2))ENGINE=InnoDB;
 | |
| INSERT INTO t1 VALUES(1, 1), (2, 2);
 | |
| 
 | |
| connect (con1,localhost,root,,test);
 | |
| SET DEBUG_SYNC="alter_table_inplace_after_commit SIGNAL default_signal WAIT_FOR default_done";
 | |
| --send
 | |
| ALTER TABLE t1 DROP INDEX f2, ALGORITHM=INPLACE;
 | |
| connection default;
 | |
| set DEBUG_SYNC="now WAIT_FOR default_signal";
 | |
| --let $shutdown_timeout=0
 | |
| --source include/restart_mysqld.inc
 | |
| disconnect con1;
 | |
| # This may occasionally display records for a corrupted index(f2).
 | |
| # The original bug was about a crash during the execution of SHOW KEYS.
 | |
| --disable_result_log
 | |
| SHOW KEYS FROM t1;
 | |
| --enable_result_log
 | |
| DROP TABLE t1;
 | |
| remove_files_wildcard $datadir/test #sql-*.frm;
 | |
| 
 | |
| --echo #
 | |
| --echo # MDEV-25503 InnoDB hangs on startup during recovery
 | |
| --echo #
 | |
| CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB STATS_PERSISTENT=1;
 | |
| connect (con1,localhost,root,,);
 | |
| BEGIN;
 | |
| DELETE FROM mysql.innodb_table_stats;
 | |
| 
 | |
| connect (con2,localhost,root,,);
 | |
| SET DEBUG_SYNC='innodb_inplace_alter_table_enter SIGNAL blocked WAIT_FOR ever';
 | |
| send ALTER TABLE t1 FORCE;
 | |
| 
 | |
| connection default;
 | |
| SET DEBUG_SYNC='now WAIT_FOR blocked';
 | |
| --let $shutdown_timeout=0
 | |
| --source include/restart_mysqld.inc
 | |
| SELECT * FROM t1;
 | |
| DROP TABLE t1;
 | |
| remove_files_wildcard $datadir/test #sql-*.frm;
 |