diff options
author | Alexander Barkov <bar@mariadb.com> | 2019-03-22 15:48:49 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2019-03-22 15:56:45 +0400 |
commit | f704361cd6f43445dbd108d54d1124f6722b4025 (patch) | |
tree | 5cba331dc6e3c0b668d8db975a913e6958235870 | |
parent | 9c9bf9642e5693841375350540530141e1916b36 (diff) | |
download | mariadb-git-f704361cd6f43445dbd108d54d1124f6722b4025.tar.gz |
Backporting slow log simulation logic details from 10.2 to 10.1
Simulate slow statements only for COM_QUERY and COM_STMT_EXECUTE commands,
to exclude mysqld_stmt_prepare() and mysqld_stmt_close() entries from the log,
as they are not relevant for log_slow_debug.test. This simplifies the test.
-rw-r--r-- | mysql-test/r/log_slow_debug.result | 13 | ||||
-rw-r--r-- | mysql-test/t/log_slow_debug.test | 13 | ||||
-rw-r--r-- | sql/sql_parse.cc | 7 |
3 files changed, 9 insertions, 24 deletions
diff --git a/mysql-test/r/log_slow_debug.result b/mysql-test/r/log_slow_debug.result index bf803ad0530..a823f4c2b98 100644 --- a/mysql-test/r/log_slow_debug.result +++ b/mysql-test/r/log_slow_debug.result @@ -14,14 +14,6 @@ FROM mysql.slow_log WHERE sql_text NOT LIKE '%debug_dbug%'; END $$ -CREATE PROCEDURE show_slow_log_exclude_ps() -BEGIN -SELECT CONCAT('[slow] ', sql_text) AS sql_text -FROM mysql.slow_log -WHERE sql_text NOT LIKE '%debug_dbug%' - AND sql_text NOT IN ('Prepare','Close stmt'); -END -$$ # # Expect all admin statements in the slow log (ON,DEFAULT) # @@ -41,7 +33,7 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1'; EXECUTE stmt; DEALLOCATE PREPARE stmt; DROP TABLE t4; -CALL show_slow_log_exclude_ps(); +CALL show_slow_log(); sql_text [slow] TRUNCATE TABLE mysql.slow_log [slow] CREATE TABLE t1 (a INT) @@ -123,7 +115,7 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1'; EXECUTE stmt; DEALLOCATE PREPARE stmt; DROP TABLE t4; -CALL show_slow_log_exclude_ps(); +CALL show_slow_log(); sql_text [slow] TRUNCATE TABLE mysql.slow_log [slow] CREATE TABLE t1 (a INT) @@ -143,4 +135,3 @@ SET @@global.slow_query_log= @org_slow_query_log; SET @@global.log_output= @org_log_output; SET @@global.log_slow_admin_statements= @org_log_slow_admin_statements; DROP PROCEDURE show_slow_log; -DROP PROCEDURE show_slow_log_exclude_ps; diff --git a/mysql-test/t/log_slow_debug.test b/mysql-test/t/log_slow_debug.test index 7945328fee3..35b5b93423d 100644 --- a/mysql-test/t/log_slow_debug.test +++ b/mysql-test/t/log_slow_debug.test @@ -19,14 +19,6 @@ BEGIN WHERE sql_text NOT LIKE '%debug_dbug%'; END $$ -CREATE PROCEDURE show_slow_log_exclude_ps() -BEGIN - SELECT CONCAT('[slow] ', sql_text) AS sql_text - FROM mysql.slow_log - WHERE sql_text NOT LIKE '%debug_dbug%' - AND sql_text NOT IN ('Prepare','Close stmt'); -END -$$ DELIMITER ;$$ @@ -50,7 +42,7 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1'; EXECUTE stmt; DEALLOCATE PREPARE stmt; DROP TABLE t4; -CALL show_slow_log_exclude_ps(); +CALL show_slow_log(); --echo # @@ -119,7 +111,7 @@ PREPARE stmt FROM 'ALTER TABLE t4 MODIFY a INT DEFAULT 1'; EXECUTE stmt; DEALLOCATE PREPARE stmt; DROP TABLE t4; -CALL show_slow_log_exclude_ps(); +CALL show_slow_log(); --echo # @@ -132,4 +124,3 @@ SET @@global.slow_query_log= @org_slow_query_log; SET @@global.log_output= @org_log_output; SET @@global.log_slow_admin_statements= @org_log_slow_admin_statements; DROP PROCEDURE show_slow_log; -DROP PROCEDURE show_slow_log_exclude_ps; diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index 6b289a9fee9..0edb8a3f5a3 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2048,8 +2048,11 @@ void log_slow_statement(THD *thd) if (!thd->enable_slow_log) goto end; // E.g. SP statement - DBUG_EXECUTE_IF("simulate_slow_query", - thd->server_status|= SERVER_QUERY_WAS_SLOW;); + DBUG_EXECUTE_IF("simulate_slow_query", { + if (thd->get_command() == COM_QUERY || + thd->get_command() == COM_STMT_EXECUTE) + thd->server_status|= SERVER_QUERY_WAS_SLOW; + }); if (((thd->server_status & SERVER_QUERY_WAS_SLOW) || ((thd->server_status & |