mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			317 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			317 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| call mtr.add_suppression("character set is multi-byte");
 | |
| call mtr.add_suppression("exists only for compatibility");
 | |
| drop table if exists t1;
 | |
| create table t1 SELECT 1,"table 1";
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 1
 | |
| test.t1	repair	status	OK
 | |
| alter table t1 ENGINE=HEAP;
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	note	The storage engine for the table doesn't support repair
 | |
| drop table t1;
 | |
| create table t1(id int PRIMARY KEY, st varchar(10), KEY st_key(st)) CHARSET=latin1;
 | |
| insert into t1 values(1, "One");
 | |
| alter table t1 disable keys;
 | |
| show keys from t1;
 | |
| Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_comment	Ignored
 | |
| t1	0	PRIMARY	1	id	A	1	NULL	NULL		BTREE			NO
 | |
| t1	1	st_key	1	st	A	NULL	NULL	NULL	YES	BTREE	disabled		NO
 | |
| repair table t1 extended;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| show keys from t1;
 | |
| Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_comment	Ignored
 | |
| t1	0	PRIMARY	1	id	A	1	NULL	NULL		BTREE			NO
 | |
| t1	1	st_key	1	st	A	NULL	NULL	NULL	YES	BTREE	disabled		NO
 | |
| drop table t1;
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	Error	Table 'test.t1' doesn't exist
 | |
| test.t1	repair	status	Operation failed
 | |
| create table t1 engine=myisam SELECT 1,"table 1";
 | |
| flush tables;
 | |
| repair table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	Error	Incorrect file format 't1'
 | |
| test.t1	repair	error	Corrupt
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 1
 | |
| test.t1	repair	status	OK
 | |
| drop table t1;
 | |
| CREATE TABLE t1(a INT, KEY(a));
 | |
| INSERT INTO t1 VALUES(1),(2),(3),(4),(5);
 | |
| SET myisam_repair_threads=2;
 | |
| REPAIR TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| SHOW INDEX FROM t1;
 | |
| Table	Non_unique	Key_name	Seq_in_index	Column_name	Collation	Cardinality	Sub_part	Packed	Null	Index_type	Comment	Index_comment	Ignored
 | |
| t1	1	a	1	a	A	5	NULL	NULL	YES	BTREE			NO
 | |
| SET myisam_repair_threads=@@global.myisam_repair_threads;
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(a INT);
 | |
| USE mysql;
 | |
| REPAIR TABLE test.t1 USE_FRM;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| USE test;
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(a CHAR(255), KEY(a)) CHARSET=latin1;
 | |
| 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;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	error	myisam_sort_buffer_size is too small. X
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 157
 | |
| test.t1	repair	status	OK
 | |
| SET myisam_repair_threads=@@global.myisam_repair_threads;
 | |
| SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
 | |
| DROP TABLE t1;
 | |
| CREATE TABLE t1(a CHAR(255), KEY(a)) CHARSET=latin1;
 | |
| 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;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| SET myisam_repair_threads=@@global.myisam_repair_threads;
 | |
| SET myisam_sort_buffer_size=@@global.myisam_sort_buffer_size;
 | |
| DROP TABLE t1;
 | |
| # End of 4.1 tests
 | |
| # Test with a saved table from 4.1
 | |
| SHOW TABLE STATUS LIKE 't1';
 | |
| Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment	Max_index_length	Temporary
 | |
| t1	MyISAM	9	Fixed	2	5	10	21474836479	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL			17179868160	N
 | |
| SELECT * FROM t1;
 | |
| id
 | |
| 1
 | |
| 2
 | |
| # Run CHECK TABLE, it should indicate table need a ALTER TABLE
 | |
| CHECK TABLE t1 FOR UPGRADE;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	error	Table rebuild required. Please do "ALTER TABLE `t1` FORCE" or dump/reload to fix it!
 | |
| # REPAIR old table USE_FRM should fail
 | |
| REPAIR TABLE t1 USE_FRM;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 1
 | |
| test.t1	repair	note	Table data recovered
 | |
| t1	repair	error	Table rebuild required. Please do "ALTER TABLE `test.t1` FORCE" or dump/reload to fix it!
 | |
| test.t1	repair	status	Operation failed
 | |
| # Run REPAIR TABLE to upgrade .frm file
 | |
| REPAIR TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| SHOW TABLE STATUS LIKE 't1';
 | |
| Name	Engine	Version	Row_format	Rows	Avg_row_length	Data_length	Max_data_length	Index_length	Data_free	Auto_increment	Create_time	Update_time	Check_time	Collation	Checksum	Create_options	Comment	Max_index_length	Temporary
 | |
| t1	MyISAM	10	Fixed	1	7	7	1970324836974591	1024	0	NULL	#	#	NULL	latin1_swedish_ci	NULL			17179868160	N
 | |
| SELECT * FROM t1;
 | |
| id
 | |
| 1
 | |
| REPAIR TABLE t1 USE_FRM;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 1
 | |
| test.t1	repair	status	OK
 | |
| SELECT * FROM t1;
 | |
| id
 | |
| 1
 | |
| DROP TABLE t1;
 | |
| ALTER TABLE t1 FORCE;
 | |
| CHECK TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| DROP TABLE t1;
 | |
| # End of 5.0 tests
 | |
| DROP TABLE IF EXISTS tt1;
 | |
| CREATE TEMPORARY TABLE tt1 (c1 INT);
 | |
| REPAIR TABLE tt1 USE_FRM;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| tt1	repair	error	Cannot repair temporary table from .frm file
 | |
| DROP TABLE tt1;
 | |
| #
 | |
| # Bug #48248 assert in MDL_ticket::upgrade_shared_lock_to_exclusive
 | |
| #
 | |
| DROP TABLE IF EXISTS t1;
 | |
| CREATE TABLE t1(a INT);
 | |
| LOCK TABLES t1 READ;
 | |
| REPAIR TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	Error	Table 't1' was locked with a READ lock and can't be updated
 | |
| test.t1	repair	status	Operation failed
 | |
| UNLOCK TABLES;
 | |
| DROP TABLE t1;
 | |
| #
 | |
| # Test for bug #50784 "MDL: Assertion `m_tickets.is_empty() ||
 | |
| #                      m_tickets.front() == m_trans_sentinel'"
 | |
| #
 | |
| drop tables if exists t1, t2;
 | |
| create table t1 (i int);
 | |
| create table t2 (j int);
 | |
| set @@autocommit= 0;
 | |
| repair table t1, t2;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| test.t2	repair	status	OK
 | |
| set @@autocommit= default;
 | |
| drop tables t1, t2;
 | |
| #
 | |
| # Check that we have decent error messages when using crashed
 | |
| # .frm file from MySQL 3.23
 | |
| #
 | |
| # Test with a saved table from 3.23
 | |
| SET @save_global_collation_server= @@global.collation_server;
 | |
| set @@global.collation_server=@@collation_server;
 | |
| select count(*) from t1;
 | |
| ERROR HY000: Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You can try REPAIR TABLE ... USE_FRM possibly followed by ALTER TABLE ... FORCE or dump and restore the table to fix this" from storage engine MyISAM
 | |
| check table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	Error	Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You can try REPAIR TABLE ... USE_FRM possibly followed by ALTER TABLE ... FORCE or dump and restore the table to fix this" from storage engine MyISAM
 | |
| test.t1	check	error	Corrupt
 | |
| repair table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	Error	Got error 190 "Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You can try REPAIR TABLE ... USE_FRM possibly followed by ALTER TABLE ... FORCE or dump and restore the table to fix this" from storage engine MyISAM
 | |
| test.t1	repair	error	Corrupt
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	note	Table data recovered
 | |
| t1	repair	error	Table rebuild required. Please do "ALTER TABLE `test.t1` FORCE" or dump/reload to fix it!
 | |
| test.t1	repair	status	Operation failed
 | |
| select count(*) from t1;
 | |
| count(*)
 | |
| 0
 | |
| check table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	error	Table rebuild required. Please do "ALTER TABLE `t1` FORCE" or dump/reload to fix it!
 | |
| alter table t1 force;
 | |
| check table t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	check	status	OK
 | |
| drop table t1;
 | |
| set @@global.collation_server=@save_global_collation_server;
 | |
| create table t1 (a blob);
 | |
| create view v1 as select * from t1;
 | |
| repair view v1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.v1	repair	status	OK
 | |
| drop view v1;
 | |
| drop table t1;
 | |
| # End of 5.5 tests
 | |
| CREATE TABLE t1 (i INT) ENGINE=MyISAM;
 | |
| INSERT t1 VALUES (1);
 | |
| LOCK TABLE t1 WRITE;
 | |
| REPAIR TABLE t1;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| SELECT * FROM INFORMATION_SCHEMA.TABLES;
 | |
| SELECT * FROM t1;
 | |
| i
 | |
| 1
 | |
| UNLOCK TABLES;
 | |
| DROP TABLE t1;
 | |
| # End of 10.0 tests
 | |
| create table t1 (a int, b varchar(200));
 | |
| insert t1 select seq, repeat(200, seq) from seq_1_to_30;
 | |
| delete from t1 where a % 13 = 0;
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 28
 | |
| test.t1	repair	status	OK
 | |
| delete from t1 where a % 11 = 0;
 | |
| repair table t1 extended use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 26
 | |
| test.t1	repair	status	OK
 | |
| delete from t1 where a % 7 = 0;
 | |
| set myisam_repair_threads = 2;
 | |
| repair table t1 use_frm;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	warning	Number of rows changed from 0 to 22
 | |
| test.t1	repair	status	OK
 | |
| set myisam_repair_threads = default;
 | |
| drop table t1;
 | |
| # End of 10.2 tests
 | |
| #
 | |
| # MDEV-33737 The way of ignoring alter-algorithm is inconsistent with
 | |
| # other options and with itself
 | |
| #
 | |
| select * from information_schema.system_variables where variable_name = 'ALTER_ALGORITHM';
 | |
| VARIABLE_NAME	ALTER_ALGORITHM
 | |
| SESSION_VALUE	DEFAULT
 | |
| GLOBAL_VALUE	DEFAULT
 | |
| GLOBAL_VALUE_ORIGIN	COMPILE-TIME
 | |
| DEFAULT_VALUE	DEFAULT
 | |
| VARIABLE_SCOPE	SESSION
 | |
| VARIABLE_TYPE	ENUM
 | |
| VARIABLE_COMMENT	Unused
 | |
| NUMERIC_MIN_VALUE	NULL
 | |
| NUMERIC_MAX_VALUE	NULL
 | |
| NUMERIC_BLOCK_SIZE	NULL
 | |
| ENUM_VALUE_LIST	DEFAULT,COPY,INPLACE,NOCOPY,INSTANT
 | |
| READ_ONLY	NO
 | |
| COMMAND_LINE_ARGUMENT	OPTIONAL
 | |
| GLOBAL_VALUE_PATH	NULL
 | |
| set alter_algorithm=COPY;
 | |
| Warnings:
 | |
| Warning	4200	The variable '@@alter_algorithm' is ignored. It only exists for compatibility with old installations and will be removed in a future release
 | |
| select @@alter_algorithm;
 | |
| @@alter_algorithm
 | |
| DEFAULT
 | |
| set statement alter_algorithm=COPY FOR SELECT @@alter_algorithm;
 | |
| @@alter_algorithm
 | |
| DEFAULT
 | |
| Warnings:
 | |
| Warning	4200	The variable '@@alter_algorithm' is ignored. It only exists for compatibility with old installations and will be removed in a future release
 | |
| Warning	4200	The variable '@@alter_algorithm' is ignored. It only exists for compatibility with old installations and will be removed in a future release
 | |
| # restart: --alter-algorithm=COPY
 | |
| select @@alter_algorithm;
 | |
| @@alter_algorithm
 | |
| DEFAULT
 | |
| #
 | |
| # MDEV-33826 Assertion `tl->table == __null' failed in
 | |
| # THD::open_temporary_table
 | |
| #
 | |
| CREATE TABLE t1 (i INT) ENGINE=InnoDB;
 | |
| CREATE TABLE t2 (i INT) ENGINE=InnoDB;
 | |
| CREATE TEMPORARY TABLE t3 (i INT);
 | |
| REPAIR TABLE t1,t2,t3;
 | |
| Table	Op	Msg_type	Msg_text
 | |
| test.t1	repair	status	OK
 | |
| test.t2	repair	status	OK
 | |
| test.t3	repair	status	OK
 | |
| DROP TABLE t1,t2,t3;
 | |
| # End of 11.5 tests
 | 
