From: Date: July 27 2007 3:17pm Subject: bk commit into 5.1 tree (gkodinov:1.2562) BUG#30000 List-Archive: http://lists.mysql.com/commits/31700 X-Bug: 30000 Message-Id: <200707271317.l6RDHpqv022836@magare.gmz> Below is the list of changes that have just been committed into a local 5.1 repository of kgeorge. When kgeorge does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet@stripped, 2007-07-27 16:17:47+03:00, gkodinov@stripped +3 -0 Bug #30000: SHOW commands once again ends up in the slow query log Disable the SHOW commands to appear in the show query log. Update the commands type array. mysql-test/r/show_check.result@stripped, 2007-07-27 16:17:46+03:00, gkodinov@stripped +64 -5 Bug #30000: test case mysql-test/t/show_check.test@stripped, 2007-07-27 16:17:46+03:00, gkodinov@stripped +68 -0 Bug #30000: test case sql/sql_parse.cc@stripped, 2007-07-27 16:17:46+03:00, gkodinov@stripped +31 -5 Bug #30000: skip SHOW commands from the slow query log. diff -Nrup a/mysql-test/r/show_check.result b/mysql-test/r/show_check.result --- a/mysql-test/r/show_check.result 2007-07-26 18:33:02 +03:00 +++ b/mysql-test/r/show_check.result 2007-07-27 16:17:46 +03:00 @@ -790,13 +790,72 @@ show tables; Tables_in_test show status like 'slow_queries'; Variable_name Value -Slow_queries 1 +Slow_queries 0 select 1 from information_schema.tables limit 1; 1 1 show status like 'slow_queries'; Variable_name Value -Slow_queries 2 +Slow_queries 1 +create table t1 (a int); +create trigger tr1 before insert on t1 for each row +begin +end; +create view v1 as select a from t1; +create procedure p1() +begin +end; +create function f1() +returns int +return 0; +create event e1 on schedule every 1 year starts now() +ends date_add(now(), interval 5 hour) do +begin +end; +flush status; +show databases; +show tables; +show events; +show table status; +show open tables; +show plugins; +show columns in t1; +show slave hosts; +show keys in t1; +show column types; +show storage engines; +show authors; +show contributors; +show privileges; +show count(*) warnings; +show count(*) errors; +show warnings; +show status; +show processlist; +show variables; +show charset; +show collation; +show grants; +show create database test; +show create table t1; +show create view v1; +show master status; +show slave status; +show create procedure p1; +show create function f1; +show create trigger tr1; +show procedure status; +show procedure code p1; +show function code f1; +show create event e1; +show status like 'slow_queries'; +Variable_name Value +Slow_queries 0 +drop view v1; +drop table t1; +drop procedure p1; +drop function f1; +drop event e1; DROP DATABASE IF EXISTS mysqltest1; DROP TABLE IF EXISTS t1; DROP VIEW IF EXISTS v1; @@ -1157,7 +1216,7 @@ select 1 from information_schema.tables 1 show status like 'slow_queries'; Variable_name Value -Slow_queries 2 +Slow_queries 1 set global log_queries_not_using_indexes=OFF; show variables like "log_queries_not_using_indexes"; Variable_name Value @@ -1167,7 +1226,7 @@ select 1 from information_schema.tables 1 show status like 'slow_queries'; Variable_name Value -Slow_queries 2 +Slow_queries 1 set global log_queries_not_using_indexes=ON; show variables like "log_queries_not_using_indexes"; Variable_name Value @@ -1177,7 +1236,7 @@ select 1 from information_schema.tables 1 show status like 'slow_queries'; Variable_name Value -Slow_queries 4 +Slow_queries 2 End of 5.0 tests SHOW AUTHORS; create database mysqltest; diff -Nrup a/mysql-test/t/show_check.test b/mysql-test/t/show_check.test --- a/mysql-test/t/show_check.test 2007-07-26 18:33:03 +03:00 +++ b/mysql-test/t/show_check.test 2007-07-27 16:17:46 +03:00 @@ -549,6 +549,74 @@ show status like 'slow_queries'; # (mysqld is started with --log-queries-not-using-indexes) select 1 from information_schema.tables limit 1; show status like 'slow_queries'; + +create table t1 (a int); +create trigger tr1 before insert on t1 for each row +begin +end; +create view v1 as select a from t1; +create procedure p1() +begin +end; +create function f1() +returns int +return 0; +create event e1 on schedule every 1 year starts now() + ends date_add(now(), interval 5 hour) do +begin +end; + +--disable_result_log +flush status; +show databases; +show tables; +show events; +show table status; +show open tables; +show plugins; +show columns in t1; +#show binary logs; +show slave hosts; +#show binlog events; +show keys in t1; +show column types; +#TODO: crashes: (bug#30036) show table types; +show storage engines; +show authors; +show contributors; +show privileges; +show count(*) warnings; +show count(*) errors; +show warnings; +show status; +#show innobase status; +#show mutex status; +show processlist; +show variables; +show charset; +show collation; +show grants; +show create database test; +show create table t1; +show create view v1; +show master status; +show slave status; +show create procedure p1; +show create function f1; +show create trigger tr1; +show procedure status; +show procedure code p1; +show function code f1; +show create event e1; +--enable_result_log + +show status like 'slow_queries'; + +drop view v1; +drop table t1; +drop procedure p1; +drop function f1; +drop event e1; # # BUG#10491: Server returns data as charset binary SHOW CREATE TABLE or SELECT # FROM I_S. diff -Nrup a/sql/sql_parse.cc b/sql/sql_parse.cc --- a/sql/sql_parse.cc 2007-07-23 19:09:45 +03:00 +++ b/sql/sql_parse.cc 2007-07-27 16:17:46 +03:00 @@ -223,7 +223,6 @@ void init_update_queries(void) sql_command_flags[SQLCOM_REPLACE_SELECT]= CF_CHANGES_DATA | CF_HAS_ROW_COUNT; sql_command_flags[SQLCOM_SHOW_STATUS_PROC]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_STATUS_FUNC]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_STATUS]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_DATABASES]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_TRIGGERS]= CF_STATUS_COMMAND; @@ -235,10 +234,36 @@ void init_update_queries(void) sql_command_flags[SQLCOM_SHOW_VARIABLES]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_CHARSETS]= CF_STATUS_COMMAND; sql_command_flags[SQLCOM_SHOW_COLLATIONS]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_STATUS_PROC]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_NEW_MASTER]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_BINLOGS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_SLAVE_HOSTS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_BINLOG_EVENTS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_COLUMN_TYPES]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_STORAGE_ENGINES]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_AUTHORS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CONTRIBUTORS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_PRIVILEGES]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_WARNS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_ERRORS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_ENGINE_STATUS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_ENGINE_MUTEX]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_ENGINE_LOGS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_PROCESSLIST]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_GRANTS]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CREATE_DB]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CREATE]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_MASTER_STAT]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_SLAVE_STAT]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CREATE_PROC]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CREATE_FUNC]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CREATE_TRIGGER]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_STATUS_FUNC]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_PROC_CODE]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_FUNC_CODE]= CF_STATUS_COMMAND; + sql_command_flags[SQLCOM_SHOW_CREATE_EVENT]= CF_STATUS_COMMAND; - sql_command_flags[SQLCOM_SHOW_TABLES]= (CF_STATUS_COMMAND | - CF_SHOW_TABLE_COMMAND); + sql_command_flags[SQLCOM_SHOW_TABLES]= (CF_STATUS_COMMAND | + CF_SHOW_TABLE_COMMAND); sql_command_flags[SQLCOM_SHOW_TABLE_STATUS]= (CF_STATUS_COMMAND | CF_SHOW_TABLE_COMMAND); @@ -1323,7 +1348,8 @@ void log_slow_statement(THD *thd) thd->variables.long_query_time || ((thd->server_status & (SERVER_QUERY_NO_INDEX_USED | SERVER_QUERY_NO_GOOD_INDEX_USED)) && - opt_log_queries_not_using_indexes)) + opt_log_queries_not_using_indexes && + !(sql_command_flags[thd->lex->sql_command] & CF_STATUS_COMMAND))) { thd->status_var.long_query_count++; slow_log_print(thd, thd->query, thd->query_length, start_of_query);