mirror of
https://github.com/MariaDB/server.git
synced 2025-11-08 00:28:29 +03:00
WL#1895 - Print message to error log in case of detected MyISAM corruption
Changed my_error() to print error messages, which come from arbitrary registered ranges of error messages. Messages can be unregistered (and should be at end of the program). Added registration of handler error messages. Added a new mi_print_error() macro and a new mi_report_error() function, which supply error messages with a table name. Added calls to mi_print_error() or mi_report_error() at all places in MyISAM, where table corruption is detected.
This commit is contained in:
@@ -178,9 +178,9 @@ t3 CREATE TABLE `t3` (
|
||||
) ENGINE=MRG_MyISAM DEFAULT CHARSET=latin1 UNION=(`t1`,`t2`)
|
||||
create table t4 (a int not null, b char(10), key(a)) engine=MERGE UNION=(t1,t2);
|
||||
select * from t4;
|
||||
ERROR HY000: Can't open file: 't4.MRG' (errno: 143)
|
||||
ERROR HY000: All tables in the MERGE table are not identically defined
|
||||
alter table t4 add column c int;
|
||||
ERROR HY000: Can't open file: 't4.MRG' (errno: 143)
|
||||
ERROR HY000: All tables in the MERGE table are not identically defined
|
||||
create database mysqltest;
|
||||
create table mysqltest.t6 (a int not null primary key auto_increment, message char(20));
|
||||
create table t5 (a int not null, b char(20), key(a)) engine=MERGE UNION=(test.t1,mysqltest.t6);
|
||||
|
||||
@@ -31,7 +31,7 @@ create table t1 engine=myisam SELECT 1,"table 1";
|
||||
flush tables;
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair error Can't open file: 't1.MYI' (errno: 130)
|
||||
test.t1 repair error Incorrect file format 't1'
|
||||
repair table t1 use_frm;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair warning Number of rows changed from 0 to 1
|
||||
|
||||
@@ -47,9 +47,9 @@ show create table t3;
|
||||
|
||||
# The following should give errors
|
||||
create table t4 (a int not null, b char(10), key(a)) engine=MERGE UNION=(t1,t2);
|
||||
--error 1016
|
||||
--error 1168
|
||||
select * from t4;
|
||||
--error 1016
|
||||
--error 1168
|
||||
alter table t4 add column c int;
|
||||
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user