1####################################
2# SETUP
3####################################
4CREATE DATABASE statements_digest;
5USE statements_digest;
6CREATE TABLE t1(a int);
7CREATE TABLE t2(a int);
8CREATE TABLE t3(a int, b int);
9CREATE TABLE t4(a int, b int);
10CREATE TABLE t5(a int, b int, c int);
11CREATE TABLE t6(a int, b int, c int, d int);
12CREATE TABLE t11 (c CHAR(4));
13CREATE TABLE t12 (c CHAR(4));
14TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
15####################################
16# EXECUTION
17####################################
18SELECT 1 FROM t1;
191
20SELECT 1 FROM `t1`;
211
22SELECT 1,2 FROM t1;
231	2
24SELECT 1, 2, 3, 4 FROM t1;
251	2	3	4
26SELECT 1 FROM t2;
271
28SELECT 1,2 FROM t2;
291	2
30SELECT 1, 2, 3, 4 FROM t2;
311	2	3	4
32INSERT INTO t1 VALUES (1);
33INSERT INTO t2 VALUES (1);
34INSERT INTO t3 VALUES (1, 2);
35INSERT INTO t4 VALUES (1, 2);
36INSERT INTO t5 VALUES (1, 2, 3);
37INSERT INTO t1 VALUES (1), (2), (3);
38INSERT INTO t1 VALUES (1), (2), (3), (4);
39INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
40INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
41INSERT INTO t1 VALUES (NULL);
42INSERT INTO t3 VALUES (NULL,NULL);
43INSERT INTO t3 VALUES (1,NULL);
44INSERT INTO t3 VALUES (NULL,1);
45INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
46INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
47INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
48INSERT INTO t6 VALUES (1, 2, 3, NULL);
49INSERT INTO t6 VALUES (1, 2, NULL, 4);
50SELECT                                          1           +        1;
511           +        1
522
53SELECT 1;
541
551
56SELECT 1 /* This is an inline comment */ + 1;
571 /* This is an inline comment */ + 1
582
59SELECT 1+
60/*
61this is a
62multiple-line comment
63*/
641;
651+
66/*
67this is a
68multiple-line comment
69*/
701
712
72CREATE SCHEMA statements_digest_temp;
73DROP SCHEMA statements_digest_temp;
74CREATE DATABASE statements_digest_temp;
75DROP DATABASE statements_digest_temp;
76SELECT 1 FROM no_such_table;
77ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
78CREATE TABLE dup_table (c char(4));
79CREATE TABLE dup_table (c char(4));
80ERROR 42S01: Table 'dup_table' already exists
81DROP TABLE dup_table;
82INSERT INTO t11 VALUES("MySQL");
83Warnings:
84Warning	1265	Data truncated for column 'c' at row 1
85PREPARE stmt FROM "SELECT * FROM t12";
86EXECUTE stmt;
87c
88EXECUTE stmt;
89c
90DEALLOCATE PREPARE stmt;
91CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
92CALL p1();
93c
94CALL p1();
95c
96DROP PROCEDURE p1;
97CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
98select func(3,4);
99func(3,4)
1007
101select func(13,42);
102func(13,42)
10355
104DROP FUNCTION func;
105CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
106INSERT INTO t12 VALUES ("abc");
107INSERT INTO t12 VALUES ("def");
108DROP TRIGGER trg;
109####################################
110# QUERYING PS STATEMENT DIGEST
111####################################
112SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
113SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
114SCHEMA_NAME	DIGEST	DIGEST_TEXT	COUNT_STAR	SUM_ROWS_AFFECTED	SUM_WARNINGS	SUM_ERRORS
115NULL	NULL	NULL	55	32	1	2
116statements_digest	01cfd3c48ebe150803a02f0b32ab4f7b	TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 	1	0	0	0
117SHOW VARIABLES LIKE "performance_schema_digests_size";
118Variable_name	Value
119performance_schema_digests_size	2
120SELECT COUNT(*) FROM performance_schema.events_statements_summary_by_digest;
121COUNT(*)
1222
123####################################
124# CLEANUP
125####################################
126DROP TABLE IF EXISTS t1;
127DROP TABLE IF EXISTS t2;
128DROP TABLE IF EXISTS t3;
129DROP TABLE IF EXISTS t4;
130DROP TABLE IF EXISTS t5;
131DROP TABLE IF EXISTS t6;
132DROP TABLE IF EXISTS t11;
133DROP TABLE IF EXISTS t12;
134DROP DATABASE IF EXISTS statements_digest;
135