summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/perfschema/t/statement_program_nested.test
blob: 183e9858226dbdea217e33bd64d2160c47c325b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# -----------------------------------------------------------------------
# Tests for the performance schema nested stored program instrumentation.
# -----------------------------------------------------------------------

--source include/not_embedded.inc
--source include/have_perfschema.inc
--source include/have_innodb.inc

TRUNCATE TABLE performance_schema.events_statements_summary_by_program;
TRUNCATE TABLE performance_schema.events_statements_history_long;

--echo #################################################
--echo # Quering PS statement summary and history_long #
--echo #################################################

--source suite/perfschema/include/program_nested_setup.inc
ALTER TABLE t2 ENGINE=InnoDB;
--source suite/perfschema/include/program_nested_execution.inc

SELECT EVENT_NAME, SQL_TEXT, CURRENT_SCHEMA, OBJECT_TYPE, OBJECT_SCHEMA,
       OBJECT_NAME, NESTING_EVENT_TYPE, NESTING_EVENT_LEVEL 
       FROM performance_schema.events_statements_history_long WHERE
       CURRENT_SCHEMA='nested_sp' ORDER BY 
       OBJECT_NAME,NESTING_EVENT_LEVEL,SQL_TEXT,EVENT_NAME;

SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS 
       FROM performance_schema.events_statements_summary_by_program
       WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME;

--echo # clean-up
TRUNCATE TABLE performance_schema.events_statements_summary_by_program;
TRUNCATE TABLE performance_schema.events_statements_history_long;

# After truncate the statictics collected will are reset
SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS 
       FROM performance_schema.events_statements_summary_by_program
       WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME;

--source suite/perfschema/include/program_nested_cleanup.inc

# After clean-up the stored programs are removed from PS tables 
SELECT OBJECT_TYPE, OBJECT_SCHEMA, OBJECT_NAME, COUNT_STAR, COUNT_STATEMENTS 
       FROM performance_schema.events_statements_summary_by_program
       WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME;


# Check the intrumentation of stored programs 
# when statement/sp/% instruments not timed

--source suite/perfschema/include/program_nested_setup.inc

update performance_schema.setup_instruments set enabled='YES', timed='NO'
  where name like "statement/sp/%" order by name;

TRUNCATE TABLE performance_schema.events_statements_summary_by_program;
TRUNCATE TABLE performance_schema.events_statements_history_long;

--source suite/perfschema/include/program_nested_execution.inc

# check instrumentation 

SELECT EVENT_NAME, TIMER_START, TIMER_END, TIMER_WAIT FROM 
       performance_schema.events_statements_history_long WHERE
       CURRENT_SCHEMA='nested_sp' AND EVENT_NAME like "statement/sp/%";

# clean-up

# Restore the setup
update performance_schema.setup_instruments set enabled='YES', timed='YES'
  where name like "statement/sp/%" order by name;

TRUNCATE TABLE performance_schema.events_statements_summary_by_program;
TRUNCATE TABLE performance_schema.events_statements_history_long;

--source suite/perfschema/include/program_nested_cleanup.inc