From: ahristov Date: March 1 2006 2:49am Subject: bk commit into 5.1 tree (andrey:1.2206) BUG#16426 List-Archive: http://lists.mysql.com/commits/3291 X-Bug: 16426 Message-Id: <20060301024945.535402A231@andrey.hristov.com> Below is the list of changes that have just been committed into a local 5.1 repository of andrey. When andrey 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 1.2206 06/03/01 03:49:31 andrey@lmy004. +3 -0 fix for bug #16426, post fixes sql/sp_head.cc 1.209 06/03/01 03:49:21 andrey@lmy004. +2 -2 this was an error which passed code review. thd->enable_slow_log could be changed and it should not be relied mysql-test/t/events_slow_query.test 1.2 06/03/01 03:49:21 andrey@lmy004. +4 -2 create different event because the executor is buggy and won't catch the difference if the memory address does not change (will be reported as bug separately) mysql-test/r/events_slow_query.result 1.2 06/03/01 03:49:21 andrey@lmy004. +6 -2 fix result # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: andrey # Host: lmy004. # Root: /work/mysql-5.1-bug17494 --- 1.1/mysql-test/r/events_slow_query.result 2006-03-01 02:34:06 +01:00 +++ 1.2/mysql-test/r/events_slow_query.result 2006-03-01 03:49:21 +01:00 @@ -28,6 +28,9 @@ SELECT * FROM slow_event_test; slo_val val SET GLOBAL event_scheduler=1; "Sleep some more time than the actual event run will take" +SHOW VARIABLES LIKE 'event_scheduler'; +Variable_name Value +event_scheduler ON "Check our table. Should see 1 row" SELECT * FROM slow_event_test; slo_val val @@ -37,7 +40,8 @@ SELECT user_host, query_time, db, sql_te user_host query_time db sql_text "This should go to the slow log" SET SESSION long_query_time=10; -ALTER EVENT long_event DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(5); +DROP EVENT long_event; +CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(5); "Sleep some more time than the actual event run will take" "Check our table. Should see 2 rows" SELECT * FROM slow_event_test; @@ -48,7 +52,7 @@ slo_val val SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; user_host query_time db sql_text root[root] @ localhost [localhost] 00:00:05 events_test INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(5) -DROP EVENT long_event; +DROP EVENT long_event2; SET GLOBAL long_query_time =@old_global_long_query_time; SET SESSION long_query_time =@old_session_long_query_time; TRUNCATE mysql.slow_log; --- 1.1/mysql-test/t/events_slow_query.test 2006-03-01 02:34:07 +01:00 +++ 1.2/mysql-test/t/events_slow_query.test 2006-03-01 03:49:21 +01:00 @@ -40,20 +40,22 @@ SELECT * FROM slow_event_test; SET GLOBAL event_scheduler=1; --echo "Sleep some more time than the actual event run will take" --sleep 5 +SHOW VARIABLES LIKE 'event_scheduler'; --echo "Check our table. Should see 1 row" SELECT * FROM slow_event_test; --echo "Check slow log. Should not see anything because 3 is under the threshold of 4 for GLOBAL, though over SESSION which is 2" SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; --echo "This should go to the slow log" SET SESSION long_query_time=10; -ALTER EVENT long_event DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(5); +DROP EVENT long_event; +CREATE EVENT long_event2 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO slow_event_test SELECT @@long_query_time, SLEEP(5); --echo "Sleep some more time than the actual event run will take" --sleep 7 --echo "Check our table. Should see 2 rows" SELECT * FROM slow_event_test; --echo "Check slow log. Should see 1 row because 5 is over the threshold of 4 for GLOBAL, though under SESSION which is 10" SELECT user_host, query_time, db, sql_text FROM mysql.slow_log; -DROP EVENT long_event; +DROP EVENT long_event2; SET GLOBAL long_query_time =@old_global_long_query_time; SET SESSION long_query_time =@old_session_long_query_time; TRUNCATE mysql.slow_log; --- 1.208/sql/sp_head.cc 2006-03-01 02:34:06 +01:00 +++ 1.209/sql/sp_head.cc 2006-03-01 03:49:21 +01:00 @@ -1412,7 +1412,7 @@ sp_head::execute_procedure(THD *thd, Lis uint params = m_pcont->context_pvars(); sp_rcontext *save_spcont, *octx; sp_rcontext *nctx = NULL; - bool save_enable_slow_log; + bool save_enable_slow_log= false; DBUG_ENTER("sp_head::execute_procedure"); DBUG_PRINT("info", ("procedure %s", m_name.str)); @@ -1522,7 +1522,7 @@ sp_head::execute_procedure(THD *thd, Lis if (!err_status) err_status= execute(thd); - if (thd->enable_slow_log && !(m_flags & LOG_SLOW_STATEMENTS)) + if (save_enable_slow_log && !(m_flags & LOG_SLOW_STATEMENTS)) thd->enable_slow_log= save_enable_slow_log; /*