From c39be2d0e7e4df339617efc96e1a38aab36be82b Mon Sep 17 00:00:00 2001 From: "ingo@mysql.com" <> Date: Thu, 23 Dec 2004 20:11:38 +0100 Subject: 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. --- myisam/mi_range.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'myisam/mi_range.c') diff --git a/myisam/mi_range.c b/myisam/mi_range.c index 789607c9889..0d8f8763b92 100644 --- a/myisam/mi_range.c +++ b/myisam/mi_range.c @@ -233,7 +233,11 @@ static uint _mi_keynr(MI_INFO *info, register MI_KEYDEF *keyinfo, uchar *page, u while (page < end) { if (!(*keyinfo->get_key)(keyinfo,nod_flag,&page,t_buff)) + { + if (my_errno == HA_ERR_CRASHED) + mi_print_error(info, HA_ERR_CRASHED); return 0; /* Error */ + } max_key++; if (page == keypos) keynr=max_key; -- cgit v1.2.1