1#
2# Test slow-logging of statements in stored procedures
3#
4--source include/log_prepare.inc
5
6SET SESSION min_examined_row_limit=0;
7SET SESSION long_query_time=0;
8
9delimiter ^;
10CREATE PROCEDURE test_inner()
11BEGIN
12   SELECT 2;
13END^
14delimiter ;^
15
16delimiter ^;
17CREATE PROCEDURE test_outer()
18BEGIN
19   SELECT 1;
20   CALL test_inner();
21END^
22delimiter ;^
23
24PREPARE stmt FROM "CALL test_outer()";
25
26SET @saved_log_slow_sp_statements=@@GLOBAL.log_slow_sp_statements;
27SET GLOBAL log_slow_sp_statements=ON;
28--let log_file=percona.slow_extended.sp1
29--source include/log_start.inc
30SELECT "log_always";
31CALL test_outer();
32EXECUTE stmt;
33--source include/log_stop.inc
34--let grep_pattern=log_always
35--source include/log_grep.inc
36--let grep_pattern=SELECT 1;
37--source include/log_grep.inc
38--let grep_pattern=SELECT 2;
39--source include/log_grep.inc
40--let grep_pattern=CALL test_
41--source include/log_grep.inc
42--let grep_pattern=# Stored_routine: test.test_outer
43--source include/log_grep.inc
44--let grep_pattern=# Stored_routine: test.test_inner
45--source include/log_grep.inc
46
47SET GLOBAL log_slow_sp_statements=OFF;
48--let log_file=percona.slow_extended.sp2
49--source include/log_start.inc
50SELECT "log_always";
51CALL test_outer();
52EXECUTE stmt;
53--source include/log_stop.inc
54--let grep_pattern=log_always
55--source include/log_grep.inc
56--let grep_pattern=SELECT 1;
57--source include/log_grep.inc
58--let grep_pattern=SELECT 2;
59--source include/log_grep.inc
60--let grep_pattern=CALL test_
61--source include/log_grep.inc
62--let grep_pattern=# Stored_routine: test.test_
63--source include/log_grep.inc
64
65SET GLOBAL log_slow_sp_statements=OFF_NO_CALLS;
66--let log_file=percona.slow_extended.sp3
67--source include/log_start.inc
68SELECT "log_always";
69CALL test_outer();
70EXECUTE stmt;
71--source include/log_stop.inc
72--let grep_pattern=log_always
73--source include/log_grep.inc
74--let grep_pattern=SELECT 1;
75--source include/log_grep.inc
76--let grep_pattern=SELECT 2;
77--source include/log_grep.inc
78--let grep_pattern=CALL test_
79--source include/log_grep.inc
80--let grep_pattern=# Stored_routine: test.test_
81--source include/log_grep.inc
82
83DROP PROCEDURE test_outer;
84DROP PROCEDURE test_inner;
85
86SET GLOBAL log_slow_sp_statements=@saved_log_slow_sp_statements;
87--source include/log_cleanup.inc
88