1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

WL#4189 mtr.pl v2

- rewrite "check warnings" to be faster by not creating a full join
   between error_log and suspicious_patterns while running REGEXP.
   Instead add a column to error_log that will be set to 1 to indicate
   a warning and run the 6 REGEXP's we have for suspicious lines as
   6 separate full table scans.
 - Remove the "suspicious_patterns" table from mtr db
 - Use 'xykls37' as separator when loading the error log, that line should
   hopefully never exist in a line that should be a warning
This commit is contained in:
Magnus Svensson
2009-01-26 15:20:33 +01:00
parent ccca3dfa4e
commit 2bea349bec
4 changed files with 58 additions and 64 deletions

View File

@ -5,6 +5,9 @@
#
--disable_query_log
# Don't write these queries to binlog
set SQL_LOG_BIN=0;
# Turn off any debug crashes, allow the variable to be
# non existent in release builds
--error 0,1193
@ -14,8 +17,9 @@ use mtr;
create temporary table error_log (
row int auto_increment primary key,
suspicious int default 0,
file_name varchar(255),
line varchar(1024) null
line varchar(1024) default null
) engine=myisam;
# Get the name of servers error log
@ -23,7 +27,8 @@ let $log_error= query_get_value(show variables like 'log_error', Value, 1);
# Try to load the error log into the temporary table
--error 0,1085
eval load data infile '$log_error' into table error_log (line)
eval load data infile '$log_error' into table error_log
fields terminated by 'xykls37' (line)
set file_name='$log_error';
if ($mysql_errno)
{
@ -33,7 +38,8 @@ if ($mysql_errno)
# a new error log file that is not world readable.
# chmod the error log file and try to open it again
chmod 0644 $log_error;
eval load data infile '$log_error' into table error_log (line)
eval load data infile '$log_error' into table error_log
fields terminated by 'xykls37' (line)
set file_name='$log_error';
# Also load the .err-old file where there might be
@ -42,7 +48,8 @@ if ($mysql_errno)
# Disabled intil Bug#42320 has been fixed
#let $old_log_error = $log_error-old;
#chmod 0644 $old_log_error;
#eval load data infile '$old_log_error' into table error_log (line)
#eval load data infile '$old_log_error' into table error_log
# fields terminated by 'xykls37' (line)
# set file_name='$old_log_error';
}