161 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
		
		
			
		
	
	
			161 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Test of repair table
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--disable_warnings
							 | 
						||
| 
								 | 
							
								drop table if exists t1;
							 | 
						||
| 
								 | 
							
								--enable_warnings
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create table t1 SELECT 1,"table 1";
							 | 
						||
| 
								 | 
							
								repair table t1 use_frm;
							 | 
						||
| 
								 | 
							
								alter table t1 ENGINE=HEAP;
							 | 
						||
| 
								 | 
							
								repair table t1 use_frm;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# disabled keys during repair
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								create table t1(id int PRIMARY KEY, st varchar(10), KEY st_key(st));
							 | 
						||
| 
								 | 
							
								insert into t1 values(1, "One");
							 | 
						||
| 
								 | 
							
								alter table t1 disable keys;
							 | 
						||
| 
								 | 
							
								show keys from t1;
							 | 
						||
| 
								 | 
							
								repair table t1 extended;
							 | 
						||
| 
								 | 
							
								show keys from t1;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# non-existent table
							 | 
						||
| 
								 | 
							
								repair table t1 use_frm;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								create table t1 engine=myisam SELECT 1,"table 1";
							 | 
						||
| 
								 | 
							
								flush tables;
							 | 
						||
| 
								 | 
							
								let $MYSQLD_DATADIR= `select @@datadir`;
							 | 
						||
| 
								 | 
							
								system echo 1 > $MYSQLD_DATADIR/test/t1.MYI ;
							 | 
						||
| 
								 | 
							
								repair table t1;
							 | 
						||
| 
								 | 
							
								repair table t1 use_frm;
							 | 
						||
| 
								 | 
							
								drop table t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# BUG#18874 - Setting myisam_repair_threads > 1, index cardinality always 1
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1(a INT, KEY(a));
							 | 
						||
| 
								 | 
							
								INSERT INTO t1 VALUES(1),(2),(3),(4),(5);
							 | 
						||
| 
								 | 
							
								SET myisam_repair_threads=2;
							 | 
						||
| 
								 | 
							
								REPAIR TABLE t1;
							 | 
						||
| 
								 | 
							
								SHOW INDEX FROM t1;
							 | 
						||
| 
								 | 
							
								SET myisam_repair_threads=@@global.myisam_repair_threads;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and
							 | 
						||
| 
								 | 
							
								#             server hangs on Linux
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1(a INT);
							 | 
						||
| 
								 | 
							
								USE mysql;
							 | 
						||
| 
								 | 
							
								REPAIR TABLE test.t1 USE_FRM;
							 | 
						||
| 
								 | 
							
								USE test;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# BUG#23175 - MYISAM crash/repair failed during repair
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1(a CHAR(255), KEY(a));
							 | 
						||
| 
								 | 
							
								SET myisam_sort_buffer_size=4096;
							 | 
						||
| 
								 | 
							
								INSERT INTO t1 VALUES
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0');
							 | 
						||
| 
								 | 
							
								SET myisam_repair_threads=2;
							 | 
						||
| 
								 | 
							
								REPAIR TABLE t1;
							 | 
						||
| 
								 | 
							
								SET myisam_repair_threads=@@global.myisam_repair_threads;
							 | 
						||
| 
								 | 
							
								SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# BUG#31174 - "Repair" command on MyISAM crashes with small 
							 | 
						||
| 
								 | 
							
								#              myisam_sort_buffer_size
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								CREATE TABLE t1(a CHAR(255), KEY(a));
							 | 
						||
| 
								 | 
							
								SET myisam_sort_buffer_size=4496;
							 | 
						||
| 
								 | 
							
								INSERT INTO t1 VALUES
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),('0'),
							 | 
						||
| 
								 | 
							
								('0'),('0'),('0'),('0'),('0'),('0'),('0');
							 | 
						||
| 
								 | 
							
								SET myisam_repair_threads=2;
							 | 
						||
| 
								 | 
							
								REPAIR TABLE t1;
							 | 
						||
| 
								 | 
							
								SET myisam_repair_threads=@@global.myisam_repair_threads;
							 | 
						||
| 
								 | 
							
								SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo End of 4.1 tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# BUG#36055 - mysql_upgrade doesn't really 'upgrade' tables
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # Test with a saved table from 4.1
							 | 
						||
| 
								 | 
							
								let $MYSQLD_DATADIR= `select @@datadir`;
							 | 
						||
| 
								 | 
							
								--copy_file std_data/bug36055.frm $MYSQLD_DATADIR/test/t1.frm
							 | 
						||
| 
								 | 
							
								--copy_file std_data/bug36055.MYD $MYSQLD_DATADIR/test/t1.MYD
							 | 
						||
| 
								 | 
							
								--copy_file std_data/bug36055.MYI $MYSQLD_DATADIR/test/t1.MYI
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--replace_column 12 # 13 #
							 | 
						||
| 
								 | 
							
								SHOW TABLE STATUS LIKE 't1';
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # Run CHECK TABLE, it should indicate table need a REPAIR TABLE
							 | 
						||
| 
								 | 
							
								CHECK TABLE t1 FOR UPGRADE;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # REPAIR old table USE_FRM should fail
							 | 
						||
| 
								 | 
							
								REPAIR TABLE t1 USE_FRM;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								--echo # Run REPAIR TABLE to upgrade .frm file
							 | 
						||
| 
								 | 
							
								REPAIR TABLE t1;
							 | 
						||
| 
								 | 
							
								--replace_column 12 # 13 #
							 | 
						||
| 
								 | 
							
								SHOW TABLE STATUS LIKE 't1';
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								REPAIR TABLE t1 USE_FRM;
							 | 
						||
| 
								 | 
							
								SELECT * FROM t1;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								DROP TABLE t1;
							 | 
						||
| 
								 | 
							
								# End of 5.0 tests
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# Bug#18775 - Temporary table from alter table visible to other threads
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# REPAIR TABLE ... USE_FRM on temporary table crashed the table or server.
							 | 
						||
| 
								 | 
							
								--disable_warnings
							 | 
						||
| 
								 | 
							
								DROP TABLE IF EXISTS tt1;
							 | 
						||
| 
								 | 
							
								--enable_warnings
							 | 
						||
| 
								 | 
							
								CREATE TEMPORARY TABLE tt1 (c1 INT);
							 | 
						||
| 
								 | 
							
								REPAIR TABLE tt1 USE_FRM;
							 | 
						||
| 
								 | 
							
								DROP TABLE tt1;
							 | 
						||
| 
								 | 
							
								
							 |