mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 02:46:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			163 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
	
		
			5.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| SET sql_mode='NO_ENGINE_SUBSTITUTION';
 | |
| ####################################
 | |
| # SETUP
 | |
| ####################################
 | |
| CREATE DATABASE statements_digest;
 | |
| USE statements_digest;
 | |
| CREATE TABLE t1(a int);
 | |
| CREATE TABLE t2(a int);
 | |
| CREATE TABLE t3(a int, b int);
 | |
| CREATE TABLE t4(a int, b int);
 | |
| CREATE TABLE t5(a int, b int, c int);
 | |
| CREATE TABLE t6(a int, b int, c int, d int);
 | |
| CREATE TABLE t11 (c CHAR(4));
 | |
| CREATE TABLE t12 (c CHAR(4));
 | |
| TRUNCATE TABLE performance_schema.events_statements_summary_by_digest;
 | |
| ####################################
 | |
| # EXECUTION
 | |
| ####################################
 | |
| SELECT 1 FROM t1;
 | |
| 1
 | |
| SELECT 1 FROM `t1`;
 | |
| 1
 | |
| SELECT 1,2 FROM t1;
 | |
| 1	2
 | |
| SELECT 1, 2, 3, 4 FROM t1;
 | |
| 1	2	3	4
 | |
| SELECT 1 FROM t2;
 | |
| 1
 | |
| SELECT 1,2 FROM t2;
 | |
| 1	2
 | |
| SELECT 1, 2, 3, 4 FROM t2;
 | |
| 1	2	3	4
 | |
| INSERT INTO t1 VALUES (1);
 | |
| INSERT INTO t2 VALUES (1);
 | |
| INSERT INTO t3 VALUES (1, 2);
 | |
| INSERT INTO t4 VALUES (1, 2);
 | |
| INSERT INTO t5 VALUES (1, 2, 3);
 | |
| INSERT INTO t1 VALUES (1), (2), (3);
 | |
| INSERT INTO t1 VALUES (1), (2), (3), (4);
 | |
| INSERT INTO t3 VALUES (1, 2), (3, 4), (5, 6);
 | |
| INSERT INTO t5 VALUES (1, 2, 3), (4, 5, 6), (7, 8, 9);
 | |
| INSERT INTO t1 VALUES (NULL);
 | |
| INSERT INTO t3 VALUES (NULL,NULL);
 | |
| INSERT INTO t3 VALUES (1,NULL);
 | |
| INSERT INTO t3 VALUES (NULL,1);
 | |
| INSERT INTO t6 VALUES (NULL, NULL, NULL, NULL);
 | |
| INSERT INTO t6 VALUES (1, NULL, NULL, NULL);
 | |
| INSERT INTO t6 VALUES (NULL, 2, NULL, NULL);
 | |
| INSERT INTO t6 VALUES (1, 2, 3, NULL);
 | |
| INSERT INTO t6 VALUES (1, 2, NULL, 4);
 | |
| SELECT                                          1           +        1;
 | |
| 1           +        1
 | |
| 2
 | |
| SELECT 1;
 | |
| 1
 | |
| 1
 | |
| SELECT 1 /* This is an inline comment */ + 1;
 | |
| 1 /* This is an inline comment */ + 1
 | |
| 2
 | |
| SELECT 1+
 | |
| /*
 | |
| this is a
 | |
| multiple-line comment
 | |
| */
 | |
| 1;
 | |
| 1+
 | |
| /*
 | |
| this is a
 | |
| multiple-line comment
 | |
| */
 | |
| 1
 | |
| 2
 | |
| CREATE SCHEMA statements_digest_temp;
 | |
| DROP SCHEMA statements_digest_temp;
 | |
| CREATE DATABASE statements_digest_temp;
 | |
| DROP DATABASE statements_digest_temp;
 | |
| SELECT 1 FROM no_such_table;
 | |
| ERROR 42S02: Table 'statements_digest.no_such_table' doesn't exist
 | |
| CREATE TABLE dup_table (c char(4));
 | |
| CREATE TABLE dup_table (c char(4));
 | |
| ERROR 42S01: Table 'dup_table' already exists
 | |
| DROP TABLE dup_table;
 | |
| INSERT IGNORE INTO t11 VALUES("MySQL");
 | |
| Warnings:
 | |
| Warning	1265	Data truncated for column 'c' at row 1
 | |
| PREPARE stmt FROM "SELECT * FROM t12";
 | |
| EXECUTE stmt;
 | |
| c
 | |
| EXECUTE stmt;
 | |
| c
 | |
| DEALLOCATE PREPARE stmt;
 | |
| CREATE PROCEDURE p1() BEGIN SELECT * FROM t12; END//
 | |
| CALL p1();
 | |
| c
 | |
| CALL p1();
 | |
| c
 | |
| DROP PROCEDURE p1;
 | |
| CREATE FUNCTION `func`(a INT, b INT) RETURNS int(11) RETURN a+b //
 | |
| select func(3,4);
 | |
| func(3,4)
 | |
| 7
 | |
| select func(13,42);
 | |
| func(13,42)
 | |
| 55
 | |
| DROP FUNCTION func;
 | |
| CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @a:=1;
 | |
| INSERT INTO t12 VALUES ("abc");
 | |
| INSERT INTO t12 VALUES ("def");
 | |
| DROP TRIGGER trg;
 | |
| ####################################
 | |
| # QUERYING PS STATEMENT DIGEST
 | |
| ####################################
 | |
| SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
 | |
| SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
 | |
| SCHEMA_NAME	DIGEST_TEXT	COUNT_STAR	SUM_ROWS_AFFECTED	SUM_WARNINGS	SUM_ERRORS
 | |
| statements_digest	TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 	1	0	0	0
 | |
| statements_digest	SELECT ? FROM `t1` 	2	0	0	0
 | |
| statements_digest	SELECT ?, ... FROM `t1` 	2	0	0	0
 | |
| statements_digest	SELECT ? FROM `t2` 	1	0	0	0
 | |
| statements_digest	SELECT ?, ... FROM `t2` 	2	0	0	0
 | |
| statements_digest	INSERT INTO `t1` VALUES (?) 	2	2	0	0
 | |
| statements_digest	INSERT INTO `t2` VALUES (?) 	1	1	0	0
 | |
| statements_digest	INSERT INTO `t3` VALUES (...) 	4	4	0	0
 | |
| statements_digest	INSERT INTO `t4` VALUES (...) 	1	1	0	0
 | |
| statements_digest	INSERT INTO `t5` VALUES (...) 	1	1	0	0
 | |
| statements_digest	INSERT INTO `t1` VALUES (?) /* , ... */ 	2	7	0	0
 | |
| statements_digest	INSERT INTO `t3` VALUES (...) /* , ... */ 	1	3	0	0
 | |
| statements_digest	INSERT INTO `t5` VALUES (...) /* , ... */ 	1	3	0	0
 | |
| statements_digest	INSERT INTO `t6` VALUES (...) 	5	5	0	0
 | |
| statements_digest	SELECT ? + ? 	3	0	0	0
 | |
| statements_digest	SELECT ? 	1	0	0	0
 | |
| statements_digest	CREATE SCHEMA `statements_digest_temp` 	2	2	0	0
 | |
| statements_digest	DROP SCHEMA `statements_digest_temp` 	2	0	0	0
 | |
| statements_digest	SELECT ? FROM `no_such_table` 	1	0	0	1
 | |
| statements_digest	CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 	2	0	0	1
 | |
| statements_digest	DROP TABLE `dup_table` 	1	0	0	0
 | |
| statements_digest	INSERT IGNORE INTO `t11` VALUES (?) 	1	1	1	0
 | |
| statements_digest	SHOW WARNINGS 	1	0	0	0
 | |
| statements_digest	PREPARE `stmt` FROM ? 	1	0	0	0
 | |
| statements_digest	EXECUTE `stmt` 	2	0	0	0
 | |
| statements_digest	DEALLOCATE PREPARE `stmt` 	1	0	0	0
 | |
| statements_digest	CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 	1	0	0	0
 | |
| statements_digest	CALL `p1` ( ) 	2	0	0	0
 | |
| statements_digest	DROP PROCEDURE `p1` 	1	0	0	0
 | |
| statements_digest	CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 	1	0	0	0
 | |
| statements_digest	SELECT `func` (...) 	2	0	0	0
 | |
| statements_digest	DROP FUNCTION `func` 	1	0	0	0
 | |
| statements_digest	CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 	1	0	0	0
 | |
| statements_digest	INSERT INTO `t12` VALUES (?) 	2	2	0	0
 | |
| statements_digest	DROP TRIGGER `trg` 	1	0	0	0
 | |
| ####################################
 | |
| # CLEANUP
 | |
| ####################################
 | |
| DROP TABLE IF EXISTS t1;
 | |
| DROP TABLE IF EXISTS t2;
 | |
| DROP TABLE IF EXISTS t3;
 | |
| DROP TABLE IF EXISTS t4;
 | |
| DROP TABLE IF EXISTS t5;
 | |
| DROP TABLE IF EXISTS t6;
 | |
| DROP TABLE IF EXISTS t11;
 | |
| DROP TABLE IF EXISTS t12;
 | |
| DROP DATABASE IF EXISTS statements_digest;
 | |
| SET sql_mode=default;
 | 
