From 99d42667d68a6ad5c52c6a24029477687b44f45d Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 12 Oct 2006 17:10:34 -0600 Subject: Bug #19764: SHOW commands end up in the slow log as table scans Do not consider SHOW commands slow queries, just because they don't use proper indexes. This bug fix is not needed in 5.1, and the code changes will be null merged. However, the test cases will be propogated up to 5.1. mysql-test/t/show_check-master.opt: Rename: BitKeeper/deleted/.del-show_check-master.opt -> mysql-test/t/show_check-master.opt mysql-test/r/ps.result: Add test case for bug 19764 mysql-test/r/show_check.result: Add test case for bug 19764 mysql-test/r/union.result: Adjust test case results based on bug #19764 changes mysql-test/t/ps.test: Add test case for bug 19764 mysql-test/t/show_check.test: Add test case for bug 19764 sql/sql_parse.cc: Do not log SHOW commands as slow queries just because they don't use indexes. sql/sql_prepare.cc: Save stmt_backup.lex->orig_sql_command for use in log_slow_statement() mysql-test/t/ps-master.opt: Add log-slow-queries and --log-queries-not-using indexes, to test bug #19764 --- sql/sql_parse.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sql/sql_parse.cc') diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 18d048df393..fdbfa71e141 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2159,9 +2159,11 @@ void log_slow_statement(THD *thd) if ((ulong) (thd->start_time - thd->time_after_lock) > thd->variables.long_query_time || - ((thd->server_status & + (thd->server_status & (SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) && - (specialflag & SPECIAL_LOG_QUERIES_NOT_USING_INDEXES))) + (specialflag & SPECIAL_LOG_QUERIES_NOT_USING_INDEXES) && + /* == SQLCOM_END unless this is a SHOW command */ + thd->lex->orig_sql_command == SQLCOM_END) { thd->status_var.long_query_count++; mysql_slow_log.write(thd, thd->query, thd->query_length, start_of_query); -- cgit v1.2.1