2002-09-01 20:17:33 +02:00
|
|
|
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
|
2003-12-10 05:31:42 +01:00
|
|
|
alter table t1 ENGINE=HEAP;
|
2003-04-27 21:12:08 +02:00
|
|
|
repair table t1 use_frm;
|
|
|
|
Table Op Msg_type Msg_text
|
2004-05-04 14:02:38 +02:00
|
|
|
test.t1 repair note The storage engine for the table doesn't support repair
|
2003-04-27 21:12:08 +02:00
|
|
|
drop table t1;
|
2004-03-22 18:34:36 +01:00
|
|
|
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;
|
|
|
|
Table Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Comment
|
|
|
|
t1 0 PRIMARY 1 id A 1 NULL NULL BTREE
|
|
|
|
t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled
|
|
|
|
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
|
|
|
|
t1 0 PRIMARY 1 id A 1 NULL NULL BTREE
|
|
|
|
t1 1 st_key 1 st A NULL NULL NULL YES BTREE disabled
|
|
|
|
drop table t1;
|
2003-05-03 15:21:39 +02:00
|
|
|
repair table t1 use_frm;
|
|
|
|
Table Op Msg_type Msg_text
|
BUG#26976 - Missing table in merge not noted in related error msg +
SHOW CREATE TABLE fails
Underlying table names, that merge engine fails to open were not
reported.
With this fix CHECK TABLE issued against merge table reports all
underlying table names that it fails to open. Other statements
are unaffected, that is underlying table names are not included
into error message.
This fix doesn't solve SHOW CREATE TABLE issue.
myisammrg/myrg_def.h:
Added myrg_print_wrong_table declaration.
myisammrg/myrg_open.c:
If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
report names of tables that we fail to open.
mysql-test/r/backup.result:
Updated test result.
mysql-test/r/key_cache.result:
Updated test result - removed duplicate error.
mysql-test/r/lock.result:
Updated test result - added summary row.
mysql-test/r/merge.result:
A test case for BUG#26976.
mysql-test/r/preload.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/ps.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/repair.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/rpl_failed_optimize.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/sp.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/view.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/t/merge.test:
A test case for BUG#26976.
sql/ha_myisam.cc:
Do not report same error twice.
sql/ha_myisammrg.cc:
If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
report names of tables that we fail to open.
Added dummy ha_myisammrg::check to not confuse users with
"not implemented" error in case all underlying tables are
fine.
sql/ha_myisammrg.h:
Added ha_myisammrg::check declaration.
sql/share/errmsg.txt:
Added ER_ADMIN_WRONG_MRG_TABLE errno. It is used instead
of ER_WRONG_MRG_TABLE in case HA_OPEN_FOR_REPAIR is
passed to merge engine handler open function.
sql/sql_error.cc:
warning_level_* are now public. It is required by mysql_admin_table to
report message level.
sql/sql_error.h:
warning_level_* are now public. It is required by mysql_admin_table to
report message level.
sql/sql_table.cc:
Reorder mysql_admin_table arguments to meet it's definition.
Report errors that are pending in thd->warn_list as results of
admin function.
2007-06-06 01:42:41 +02:00
|
|
|
test.t1 repair Error Table 'test.t1' doesn't exist
|
|
|
|
test.t1 repair error Corrupt
|
2003-12-10 05:31:42 +01:00
|
|
|
create table t1 engine=myisam SELECT 1,"table 1";
|
2004-04-09 06:12:41 +02:00
|
|
|
flush tables;
|
2004-04-07 16:04:28 +02:00
|
|
|
repair table t1;
|
|
|
|
Table Op Msg_type Msg_text
|
BUG#26976 - Missing table in merge not noted in related error msg +
SHOW CREATE TABLE fails
Underlying table names, that merge engine fails to open were not
reported.
With this fix CHECK TABLE issued against merge table reports all
underlying table names that it fails to open. Other statements
are unaffected, that is underlying table names are not included
into error message.
This fix doesn't solve SHOW CREATE TABLE issue.
myisammrg/myrg_def.h:
Added myrg_print_wrong_table declaration.
myisammrg/myrg_open.c:
If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
report names of tables that we fail to open.
mysql-test/r/backup.result:
Updated test result.
mysql-test/r/key_cache.result:
Updated test result - removed duplicate error.
mysql-test/r/lock.result:
Updated test result - added summary row.
mysql-test/r/merge.result:
A test case for BUG#26976.
mysql-test/r/preload.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/ps.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/repair.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/rpl_failed_optimize.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/sp.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/r/view.result:
Updated test result - removed duplicate error, added summary row.
mysql-test/t/merge.test:
A test case for BUG#26976.
sql/ha_myisam.cc:
Do not report same error twice.
sql/ha_myisammrg.cc:
If HA_OPEN_FOR_REPAIR is passed to merge engine open function,
report names of tables that we fail to open.
Added dummy ha_myisammrg::check to not confuse users with
"not implemented" error in case all underlying tables are
fine.
sql/ha_myisammrg.h:
Added ha_myisammrg::check declaration.
sql/share/errmsg.txt:
Added ER_ADMIN_WRONG_MRG_TABLE errno. It is used instead
of ER_WRONG_MRG_TABLE in case HA_OPEN_FOR_REPAIR is
passed to merge engine handler open function.
sql/sql_error.cc:
warning_level_* are now public. It is required by mysql_admin_table to
report message level.
sql/sql_error.h:
warning_level_* are now public. It is required by mysql_admin_table to
report message level.
sql/sql_table.cc:
Reorder mysql_admin_table arguments to meet it's definition.
Report errors that are pending in thd->warn_list as results of
admin function.
2007-06-06 01:42:41 +02:00
|
|
|
test.t1 repair Error Incorrect file format 't1'
|
|
|
|
test.t1 repair error Corrupt
|
2004-04-07 16:04:28 +02:00
|
|
|
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;
|
2006-08-14 14:05:02 +02:00
|
|
|
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
|
|
|
|
t1 1 a 1 a A 5 NULL NULL YES BTREE
|
|
|
|
SET myisam_repair_threads=@@global.myisam_repair_threads;
|
|
|
|
DROP TABLE t1;
|
2006-10-11 17:34:20 +02:00
|
|
|
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;
|
2006-10-18 14:57:29 +02:00
|
|
|
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');
|
2006-10-19 15:48:37 +02:00
|
|
|
Warnings:
|
2007-05-07 18:38:43 +02:00
|
|
|
Error 1034 myisam_sort_buffer_size is too small
|
2006-10-19 15:48:37 +02:00
|
|
|
Error 1034 Number of rows changed from 0 to 157
|
2006-10-18 14:57:29 +02:00
|
|
|
SET myisam_repair_threads=2;
|
|
|
|
REPAIR TABLE t1;
|
|
|
|
Table Op Msg_type Msg_text
|
2007-05-04 23:38:29 +02:00
|
|
|
test.t1 repair error myisam_sort_buffer_size is too small
|
2006-10-18 14:57:29 +02:00
|
|
|
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;
|
2007-10-11 12:28:12 +02:00
|
|
|
CREATE TABLE t1(a CHAR(255), KEY(a));
|
2007-10-17 08:29:51 +02:00
|
|
|
SET myisam_sort_buffer_size=4496;
|
2007-10-11 12:28:12 +02:00
|
|
|
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
|
2008-05-12 18:01:13 +02:00
|
|
|
# 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
|
|
|
|
t1 MyISAM 9 Fixed 2 5 10 21474836479 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
|
|
|
SELECT * FROM t1;
|
|
|
|
id
|
|
|
|
1
|
|
|
|
2
|
|
|
|
# Run CHECK TABLE, it should indicate table need a REPAIR TABLE
|
|
|
|
CHECK TABLE t1 FOR UPGRADE;
|
|
|
|
Table Op Msg_type Msg_text
|
|
|
|
test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" to fix it!
|
|
|
|
# REPAIR old table USE_FRM should fail
|
|
|
|
REPAIR TABLE t1 USE_FRM;
|
|
|
|
Table Op Msg_type Msg_text
|
|
|
|
t1 repair error Failed reparing incompatible .FRM file
|
|
|
|
# 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
|
|
|
|
t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
|
|
|
SELECT * FROM t1;
|
|
|
|
id
|
|
|
|
1
|
|
|
|
2
|
|
|
|
REPAIR TABLE t1 USE_FRM;
|
|
|
|
Table Op Msg_type Msg_text
|
|
|
|
test.t1 repair warning Number of rows changed from 0 to 2
|
|
|
|
test.t1 repair status OK
|
|
|
|
SELECT * FROM t1;
|
|
|
|
id
|
|
|
|
1
|
|
|
|
2
|
|
|
|
DROP TABLE t1;
|