Commit 167c5400 authored by Sergei Golubchik's avatar Sergei Golubchik

5.6.26

parent 3c372499
......@@ -16,12 +16,12 @@ NULL NULL NULL 1 2 3 NULL NULL
SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST_TEXT COUNT_STAR
test TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
test TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
test SELECT ? 1
test SELECT ? FROM DUAL 1
test SELECT ?, ... 2
test SELECT ? IS NULL 1
test SELECT ? IS NOT NULL 1
test SELECT ? IS NULL , ? IS NULL , ? IS NOT NULL , ? IS NOT NULL 1
test CREATE TABLE foo ( a INTEGER DEFAULT ? , b INTEGER NOT NULL DEFAULT ? , c INTEGER NOT NULL ) 1
test DROP TABLE foo 1
test CREATE TABLE `foo` ( `a` INTEGER DEFAULT ? , `b` INTEGER NOT NULL DEFAULT ? , `c` INTEGER NOT NULL ) 1
test DROP TABLE `foo` 1
......@@ -113,7 +113,7 @@ SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARN
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
NULL NULL NULL 55 32 1 2
statements_digest e4a84a547a18a89f4708509a720def58 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
statements_digest 01cfd3c48ebe150803a02f0b32ab4f7b TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0
SHOW VARIABLES LIKE "performance_schema_digests_size";
Variable_name Value
performance_schema_digests_size 2
......
......@@ -20,11 +20,13 @@ lock tables performance_schema.setup_instruments write;
connection default;
select event_name,
left(source, locate(":", source)) as short_source,
timer_end, timer_wait, operation
if(timer_end IS NULL, NULL, "SET") as timer_end,
if(timer_wait IS NULL, NULL, "SET") as timer_wait,
operation
from performance_schema.events_waits_current
where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
event_name short_source timer_end timer_wait operation
wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: NULL NULL timed_wait
wait/synch/cond/sql/MDL_context::COND_wait_status mdl.cc: SET SET timed_wait
unlock tables;
update performance_schema.setup_instruments set enabled='NO';
update performance_schema.setup_instruments set enabled='YES';
......
......@@ -108,6 +108,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -38,6 +38,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -40,7 +40,7 @@ select digest, digest_text, count_star
from performance_schema.events_statements_summary_by_digest
where digest_text like "%in_%_digest%";
digest digest_text count_star
8d588d616712c7d8dfabf22ce262662b SELECT ? AS in_master_digest 1
83fd516ccb1407eac535df09e5dd1e50 SELECT ? AS `in_master_digest` 1
insert into test.marker values (2);
**** On Slave ****
select * from test.marker;
......@@ -67,7 +67,7 @@ select digest, digest_text, count_star
from performance_schema.events_statements_summary_by_digest
where digest_text like "%in_%_digest%";
digest digest_text count_star
02e25175edc3b2834b9b41d58f5a8a6a SELECT ? AS in_slave_digest 1
073b595f4ca8178745392f361ef8a531 SELECT ? AS `in_slave_digest` 1
**** On Master ****
delete from performance_schema.setup_objects
where object_schema='master';
......
......@@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 3504
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 7693
......
......@@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 10900
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 23385
......
......@@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 5
performance_schema_hosts_size 20
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 612
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 1556
......
......@@ -23,6 +23,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1079
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 1754
......
......@@ -14,6 +14,7 @@ performance_schema_events_waits_history_size -1
performance_schema_hosts_size -1
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances -1
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances -1
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 0
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 0
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 0
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 0
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 0
performance_schema_hosts_size 0
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 0
performance_schema_max_file_instances 0
......@@ -119,6 +120,7 @@ performance_schema_events_waits_history_size 0
performance_schema_hosts_size 0
performance_schema_max_cond_classes 0
performance_schema_max_cond_instances 0
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 0
performance_schema_max_file_handles 0
performance_schema_max_file_instances 0
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -85,6 +85,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -112,42 +112,41 @@ DROP TRIGGER trg;
SELECT SCHEMA_NAME, DIGEST, DIGEST_TEXT, COUNT_STAR, SUM_ROWS_AFFECTED, SUM_WARNINGS,
SUM_ERRORS FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST DIGEST_TEXT COUNT_STAR SUM_ROWS_AFFECTED SUM_WARNINGS SUM_ERRORS
statements_digest e4a84a547a18a89f4708509a720def58 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1 0 0 0
statements_digest ab105aea9c15b3842ad161d18349f9c4 SELECT ? FROM t1 1 0 0 0
statements_digest 835083efbaa5d8c29d01d558abb8216b SELECT ? FROM `t1` 1 0 0 0
statements_digest 6ff375c6f4b283de91711a78bd91b953 SELECT ?, ... FROM t1 2 0 0 0
statements_digest 4879fbad051c94ff76e6ad29effa4903 SELECT ? FROM t2 1 0 0 0
statements_digest b1ea4bca7c91ebd647b6b81e80a2ef94 SELECT ?, ... FROM t2 2 0 0 0
statements_digest 14d463345df747d42a036019a5988a9b INSERT INTO t1 VALUES (?) 2 2 0 0
statements_digest ff2d8aa1fd516f5e25b0faf7b1c80b04 INSERT INTO t2 VALUES (?) 1 1 0 0
statements_digest 430116339c3a5bf0a1aa9a96e9cfd354 INSERT INTO t3 VALUES (...) 4 4 0 0
statements_digest 01467137a1045e85119538ea248d52dd INSERT INTO t4 VALUES (...) 1 1 0 0
statements_digest b201a20a2a534d2789750270b7f90fab INSERT INTO t5 VALUES (...) 1 1 0 0
statements_digest b1a5f24770580f243ad6704590165d90 INSERT INTO t1 VALUES (?) /* , ... */ 2 7 0 0
statements_digest bbbf619ec8ca4ec4a4da28a71eb12a2f INSERT INTO t3 VALUES (...) /* , ... */ 1 3 0 0
statements_digest de7bdb298875f4ef826383e3fce53ef9 INSERT INTO t5 VALUES (...) /* , ... */ 1 3 0 0
statements_digest cd4a3e419e2eaed79f66a705ff002910 INSERT INTO t6 VALUES (...) 5 5 0 0
statements_digest 01cfd3c48ebe150803a02f0b32ab4f7b TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1 0 0 0
statements_digest 4a958a8b2138b7ae3b65a0edde877dca SELECT ? FROM `t1` 2 0 0 0
statements_digest 1f346cc75586f18fdded6e2f518e7d25 SELECT ?, ... FROM `t1` 2 0 0 0
statements_digest 9ed289e97245aee8872bd79573ff71dc SELECT ? FROM `t2` 1 0 0 0
statements_digest ec5d6ae42b4292cce44168c701fde301 SELECT ?, ... FROM `t2` 2 0 0 0
statements_digest c689b670f102bc028f36273ed00244de INSERT INTO `t1` VALUES (?) 2 2 0 0
statements_digest baf2d67435fc5a66f517bd655c9154a3 INSERT INTO `t2` VALUES (?) 1 1 0 0
statements_digest cba557f7a643fac3a34563f74c57f040 INSERT INTO `t3` VALUES (...) 4 4 0 0
statements_digest 26f967699697844ef6757a283c0432e0 INSERT INTO `t4` VALUES (...) 1 1 0 0
statements_digest 1565e5ec0755d0d212e84567fdb86500 INSERT INTO `t5` VALUES (...) 1 1 0 0
statements_digest 931de69cfc4123c9f5ebeb8da2e6fb0e INSERT INTO `t1` VALUES (?) /* , ... */ 2 7 0 0
statements_digest 81d8a0e0212bb8e02ad8f5e84d8c819a INSERT INTO `t3` VALUES (...) /* , ... */ 1 3 0 0
statements_digest 793ba1cc016c6e3c45c63023531955ad INSERT INTO `t5` VALUES (...) /* , ... */ 1 3 0 0
statements_digest d44b7d3c3f03b5b9605c9cffb537b083 INSERT INTO `t6` VALUES (...) 5 5 0 0
statements_digest f2d57cea9e78e7b37c4509c0564dd1cc SELECT ? + ? 3 0 0 0
statements_digest 02396199eed2345830efcf00e51107ee SELECT ? 1 0 0 0
statements_digest 7c5b403e11cb8fa41954f8b81d47fb44 CREATE SCHEMA statements_digest_temp 2 2 0 0
statements_digest d5c2a9eedc964698407667a633301e69 DROP SCHEMA statements_digest_temp 2 0 0 0
statements_digest add5619cd2761d01c66b68b50a4c0476 SELECT ? FROM no_such_table 1 0 0 1
statements_digest f59e7a7dbcdc342b7ea72ae24e5ef081 CREATE TABLE dup_table ( c CHARACTER (?) ) 2 0 0 1
statements_digest b42311b2b180ba680ebb286f671982f1 DROP TABLE dup_table 1 0 0 0
statements_digest 8af43d157243ebdc9dcb1a9502acdd24 INSERT INTO t11 VALUES (?) 1 1 1 0
statements_digest d02f821e8ce0a27519c833324368696d CREATE SCHEMA `statements_digest_temp` 2 2 0 0
statements_digest 5ea9da83763ff4b01e34c408d865568f DROP SCHEMA `statements_digest_temp` 2 0 0 0
statements_digest ac9dfca3fe35b0d4c43a6bf62a3489b5 SELECT ? FROM `no_such_table` 1 0 0 1
statements_digest 9fd65056536a8d74ea107b68849cfd27 CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2 0 0 1
statements_digest f259e984954d6d77a9f94230726e1c0f DROP TABLE `dup_table` 1 0 0 0
statements_digest 17c0f9e5abf747e425ae24b66d44cf01 INSERT INTO `t11` VALUES (?) 1 1 1 0
statements_digest cee5b131782212e0ba1cd76ba28485c4 SHOW WARNINGS 1 0 0 0
statements_digest 438623439c3a1702203d6190795127ad PREPARE stmt FROM ? 1 0 0 0
statements_digest e53b71815168ad954fd921a6ae1860c9 EXECUTE stmt 2 0 0 0
statements_digest 3bccf5096186ceaf50c11c3deb4e21cf DEALLOCATE PREPARE stmt 1 0 0 0
statements_digest e20f8d5cb15105439af39592b79c0edd CREATE PROCEDURE p1 ( ) BEGIN SELECT * FROM t12 ; END 1 0 0 0
statements_digest 10298a45c9f7114e4985de53ca99bda7 CALL p1 ( ) 2 0 0 0
statements_digest efc046c5d04acb8afa61326f759ad380 DROP PROCEDURE p1 1 0 0 0
statements_digest 8eaf9e776b79f24f2b8fae8efb92d8a4 CREATE FUNCTION `func` ( a INTEGER , b INTEGER ) RETURNS INTEGER (?) RETURN a + b 1 0 0 0
statements_digest b364c71d8c904eb9e95df4d0ca258c00 SELECT func (...) 2 0 0 0
statements_digest 88e7ac9784e4561d12fadccde6ea704a DROP FUNCTION func 1 0 0 0
statements_digest 15deeaae5594a691cf21abd4439ee5e6 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @? := ? 1 0 0 0
statements_digest 074e38814943a6dce874784d21fea89d INSERT INTO t12 VALUES (?) 2 2 0 0
statements_digest 2b5b02ba54b27638d5d8dbe917ff432d DROP TRIGGER trg 1 0 0 0
statements_digest 44d441f36c0487f8b32b6cb1e37f7c3f PREPARE `stmt` FROM ? 1 0 0 0
statements_digest 73bf0dc38bbbc571613bdb78e85ddb18 EXECUTE `stmt` 2 0 0 0
statements_digest 8a87274dfc2961861326c1591f0df4bc DEALLOCATE PREPARE `stmt` 1 0 0 0
statements_digest 639ff9b1728335f463d2ed4134c7ec26 CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1 0 0 0
statements_digest 627bb08bd333aa83cb4bbad88ab6e6b8 CALL `p1` ( ) 2 0 0 0
statements_digest 949464b6c55462d9d7ad3f0a7608db10 DROP PROCEDURE `p1` 1 0 0 0
statements_digest bfc5c562a60a60857a026a17434e77bb CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1 0 0 0
statements_digest cf6fe4a8895dabaf9c30615b49bce6db SELECT `func` (...) 2 0 0 0
statements_digest 4b2d4d67e2faa0b938156e60e1f2023b DROP FUNCTION `func` 1 0 0 0
statements_digest b859e51c90bdd984a1226ecf25fd80de CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1 0 0 0
statements_digest cb2f065274b3e03693cb7d5396d4d978 INSERT INTO `t12` VALUES (?) 2 2 0 0
statements_digest 903b51b5db2d5393542a7fc2614049fd DROP TRIGGER `trg` 1 0 0 0
####################################
# CLEANUP
####################################
......
......@@ -125,42 +125,41 @@ DROP TRIGGER trg;
####################################
SELECT schema_name, digest, digest_text, count_star FROM performance_schema.events_statements_summary_by_digest;
schema_name digest digest_text count_star
statements_digest e4a84a547a18a89f4708509a720def58 TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
statements_digest ab105aea9c15b3842ad161d18349f9c4 SELECT ? FROM t1 1
statements_digest 835083efbaa5d8c29d01d558abb8216b SELECT ? FROM `t1` 1
statements_digest 6ff375c6f4b283de91711a78bd91b953 SELECT ?, ... FROM t1 2
statements_digest 4879fbad051c94ff76e6ad29effa4903 SELECT ? FROM t2 1
statements_digest b1ea4bca7c91ebd647b6b81e80a2ef94 SELECT ?, ... FROM t2 2
statements_digest 14d463345df747d42a036019a5988a9b INSERT INTO t1 VALUES (?) 2
statements_digest ff2d8aa1fd516f5e25b0faf7b1c80b04 INSERT INTO t2 VALUES (?) 1
statements_digest 430116339c3a5bf0a1aa9a96e9cfd354 INSERT INTO t3 VALUES (...) 4
statements_digest 01467137a1045e85119538ea248d52dd INSERT INTO t4 VALUES (...) 1
statements_digest b201a20a2a534d2789750270b7f90fab INSERT INTO t5 VALUES (...) 1
statements_digest b1a5f24770580f243ad6704590165d90 INSERT INTO t1 VALUES (?) /* , ... */ 2
statements_digest bbbf619ec8ca4ec4a4da28a71eb12a2f INSERT INTO t3 VALUES (...) /* , ... */ 1
statements_digest de7bdb298875f4ef826383e3fce53ef9 INSERT INTO t5 VALUES (...) /* , ... */ 1
statements_digest cd4a3e419e2eaed79f66a705ff002910 INSERT INTO t6 VALUES (...) 5
statements_digest 01cfd3c48ebe150803a02f0b32ab4f7b TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
statements_digest 4a958a8b2138b7ae3b65a0edde877dca SELECT ? FROM `t1` 2
statements_digest 1f346cc75586f18fdded6e2f518e7d25 SELECT ?, ... FROM `t1` 2
statements_digest 9ed289e97245aee8872bd79573ff71dc SELECT ? FROM `t2` 1
statements_digest ec5d6ae42b4292cce44168c701fde301 SELECT ?, ... FROM `t2` 2
statements_digest c689b670f102bc028f36273ed00244de INSERT INTO `t1` VALUES (?) 2
statements_digest baf2d67435fc5a66f517bd655c9154a3 INSERT INTO `t2` VALUES (?) 1
statements_digest cba557f7a643fac3a34563f74c57f040 INSERT INTO `t3` VALUES (...) 4
statements_digest 26f967699697844ef6757a283c0432e0 INSERT INTO `t4` VALUES (...) 1
statements_digest 1565e5ec0755d0d212e84567fdb86500 INSERT INTO `t5` VALUES (...) 1
statements_digest 931de69cfc4123c9f5ebeb8da2e6fb0e INSERT INTO `t1` VALUES (?) /* , ... */ 2
statements_digest 81d8a0e0212bb8e02ad8f5e84d8c819a INSERT INTO `t3` VALUES (...) /* , ... */ 1
statements_digest 793ba1cc016c6e3c45c63023531955ad INSERT INTO `t5` VALUES (...) /* , ... */ 1
statements_digest d44b7d3c3f03b5b9605c9cffb537b083 INSERT INTO `t6` VALUES (...) 5
statements_digest f2d57cea9e78e7b37c4509c0564dd1cc SELECT ? + ? 3
statements_digest 02396199eed2345830efcf00e51107ee SELECT ? 1
statements_digest 7c5b403e11cb8fa41954f8b81d47fb44 CREATE SCHEMA statements_digest_temp 2
statements_digest d5c2a9eedc964698407667a633301e69 DROP SCHEMA statements_digest_temp 2
statements_digest add5619cd2761d01c66b68b50a4c0476 SELECT ? FROM no_such_table 1
statements_digest f59e7a7dbcdc342b7ea72ae24e5ef081 CREATE TABLE dup_table ( c CHARACTER (?) ) 2
statements_digest b42311b2b180ba680ebb286f671982f1 DROP TABLE dup_table 1
statements_digest 8af43d157243ebdc9dcb1a9502acdd24 INSERT INTO t11 VALUES (?) 1
statements_digest d02f821e8ce0a27519c833324368696d CREATE SCHEMA `statements_digest_temp` 2
statements_digest 5ea9da83763ff4b01e34c408d865568f DROP SCHEMA `statements_digest_temp` 2
statements_digest ac9dfca3fe35b0d4c43a6bf62a3489b5 SELECT ? FROM `no_such_table` 1
statements_digest 9fd65056536a8d74ea107b68849cfd27 CREATE TABLE `dup_table` ( `c` CHARACTER (?) ) 2
statements_digest f259e984954d6d77a9f94230726e1c0f DROP TABLE `dup_table` 1
statements_digest 17c0f9e5abf747e425ae24b66d44cf01 INSERT INTO `t11` VALUES (?) 1
statements_digest cee5b131782212e0ba1cd76ba28485c4 SHOW WARNINGS 1
statements_digest 438623439c3a1702203d6190795127ad PREPARE stmt FROM ? 1
statements_digest e53b71815168ad954fd921a6ae1860c9 EXECUTE stmt 2
statements_digest 3bccf5096186ceaf50c11c3deb4e21cf DEALLOCATE PREPARE stmt 1
statements_digest e20f8d5cb15105439af39592b79c0edd CREATE PROCEDURE p1 ( ) BEGIN SELECT * FROM t12 ; END 1
statements_digest 10298a45c9f7114e4985de53ca99bda7 CALL p1 ( ) 2
statements_digest efc046c5d04acb8afa61326f759ad380 DROP PROCEDURE p1 1
statements_digest 8eaf9e776b79f24f2b8fae8efb92d8a4 CREATE FUNCTION `func` ( a INTEGER , b INTEGER ) RETURNS INTEGER (?) RETURN a + b 1
statements_digest b364c71d8c904eb9e95df4d0ca258c00 SELECT func (...) 2
statements_digest 88e7ac9784e4561d12fadccde6ea704a DROP FUNCTION func 1
statements_digest 15deeaae5594a691cf21abd4439ee5e6 CREATE TRIGGER trg BEFORE INSERT ON t12 FOR EACH ROW SET @? := ? 1
statements_digest 074e38814943a6dce874784d21fea89d INSERT INTO t12 VALUES (?) 2
statements_digest 2b5b02ba54b27638d5d8dbe917ff432d DROP TRIGGER trg 1
statements_digest 44d441f36c0487f8b32b6cb1e37f7c3f PREPARE `stmt` FROM ? 1
statements_digest 73bf0dc38bbbc571613bdb78e85ddb18 EXECUTE `stmt` 2
statements_digest 8a87274dfc2961861326c1591f0df4bc DEALLOCATE PREPARE `stmt` 1
statements_digest 639ff9b1728335f463d2ed4134c7ec26 CREATE PROCEDURE `p1` ( ) BEGIN SELECT * FROM `t12` ; END 1
statements_digest 627bb08bd333aa83cb4bbad88ab6e6b8 CALL `p1` ( ) 2
statements_digest 949464b6c55462d9d7ad3f0a7608db10 DROP PROCEDURE `p1` 1
statements_digest bfc5c562a60a60857a026a17434e77bb CREATE FUNCTION `func` ( `a` INTEGER , `b` INTEGER ) RETURNS INTEGER (?) RETURN `a` + `b` 1
statements_digest cf6fe4a8895dabaf9c30615b49bce6db SELECT `func` (...) 2
statements_digest 4b2d4d67e2faa0b938156e60e1f2023b DROP FUNCTION `func` 1
statements_digest b859e51c90bdd984a1226ecf25fd80de CREATE TRIGGER `trg` BEFORE INSERT ON `t12` FOR EACH ROW SET @? := ? 1
statements_digest cb2f065274b3e03693cb7d5396d4d978 INSERT INTO `t12` VALUES (?) 2
statements_digest 903b51b5db2d5393542a7fc2614049fd DROP TRIGGER `trg` 1
SELECT digest, digest_text FROM performance_schema.events_statements_current;
digest digest_text
####################################
......
......@@ -8,5 +8,5 @@ SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1
####################################
SELECT schema_name, digest, digest_text, count_star FROM events_statements_summary_by_digest;
schema_name digest digest_text count_star
performance_schema e8d937c7ecf79e105de0f9e364fa5edb TRUNCATE TABLE events_statements_summary_by_digest 1
performance_schema d12faab4b919fcc50abb18a009fb6b0b TRUNCATE TABLE `events_statements_summary_by_digest` 1
performance_schema 5d9a2f95653d8ca9d9cea3eefff7e361 SELECT ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? 1
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -53,6 +53,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -52,6 +52,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -53,6 +53,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -52,6 +52,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -55,6 +55,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -54,6 +54,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -57,6 +57,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -56,6 +56,7 @@ performance_schema_events_waits_history_size 10
performance_schema_hosts_size 100
performance_schema_max_cond_classes 80
performance_schema_max_cond_instances 1000
performance_schema_max_digest_length 1024
performance_schema_max_file_classes 50
performance_schema_max_file_handles 32768
performance_schema_max_file_instances 10000
......
......@@ -39,9 +39,9 @@ ERROR 42S02: Table 'test.expect_unchanged' doesn't exist
SELECT SCHEMA_NAME, DIGEST_TEXT, COUNT_STAR
FROM performance_schema.events_statements_summary_by_digest;
SCHEMA_NAME DIGEST_TEXT COUNT_STAR
test TRUNCATE TABLE performance_schema . events_statements_summary_by_digest 1
test SELECT ? FROM expect_unary 5
test SELECT ? + ? FROM expect_binary 2
test SELECT ? - ? FROM expect_binary 2
test INSERT INTO expect_full_reduce VALUES (...) 27
test SELECT a - b , a + b , - a , - b , + a , + b FROM expect_unchanged 1
test TRUNCATE TABLE `performance_schema` . `events_statements_summary_by_digest` 1
test SELECT ? FROM `expect_unary` 5
test SELECT ? + ? FROM `expect_binary` 2
test SELECT ? - ? FROM `expect_binary` 2
test INSERT INTO `expect_full_reduce` VALUES (...) 27
test SELECT `a` - `b` , `a` + `b` , - `a` , - `b` , + `a` , + `b` FROM `expect_unchanged` 1
......@@ -56,7 +56,9 @@ let $wait_condition= select 1 from performance_schema.events_waits_current where
# Observe the blocked thread in the performance schema :)
select event_name,
left(source, locate(":", source)) as short_source,
timer_end, timer_wait, operation
if(timer_end IS NULL, NULL, "SET") as timer_end,
if(timer_wait IS NULL, NULL, "SET") as timer_wait,
operation
from performance_schema.events_waits_current
where event_name like "wait/synch/cond/sql/MDL_context::COND_wait_status";
......
......@@ -69,8 +69,8 @@ int init_account(const PFS_global_param *param)
if (account_max > 0)
{
account_array= PFS_MALLOC_ARRAY(account_max, PFS_account,
MYF(MY_ZEROFILL));
account_array= PFS_MALLOC_ARRAY(account_max, sizeof(PFS_account), PFS_account,
MYF(MY_ZEROFILL));
if (unlikely(account_array == NULL))
return 1;
}
......
/* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -39,7 +39,8 @@ PFS_connection_slice::alloc_waits_slice(uint sizing)
if (sizing > 0)
{
slice= PFS_MALLOC_ARRAY(sizing, PFS_single_stat, MYF(MY_ZEROFILL));
slice= PFS_MALLOC_ARRAY(sizing, sizeof(PFS_single_stat), PFS_single_stat,
MYF(MY_ZEROFILL));
if (unlikely(slice == NULL))
return NULL;
......@@ -58,7 +59,8 @@ PFS_connection_slice::alloc_stages_slice(uint sizing)
if (sizing > 0)
{
slice= PFS_MALLOC_ARRAY(sizing, PFS_stage_stat, MYF(MY_ZEROFILL));
slice= PFS_MALLOC_ARRAY(sizing, sizeof(PFS_stage_stat), PFS_stage_stat,
MYF(MY_ZEROFILL));
if (unlikely(slice == NULL))
return NULL;
......@@ -77,7 +79,8 @@ PFS_connection_slice::alloc_statements_slice(uint sizing)
if (sizing > 0)
{
slice= PFS_MALLOC_ARRAY(sizing, PFS_statement_stat, MYF(MY_ZEROFILL));
slice= PFS_MALLOC_ARRAY(sizing, sizeof(PFS_statement_stat), PFS_statement_stat,
MYF(MY_ZEROFILL));
if (unlikely(slice == NULL))
return NULL;
......
......@@ -33,7 +33,7 @@
#include "sql_string.h"
#include <string.h>
ulong digest_max= 0;
size_t digest_max= 0;
ulong digest_lost= 0;
/** EVENTS_STATEMENTS_HISTORY_LONG circular buffer. */
......@@ -57,8 +57,6 @@ static bool digest_hash_inited= false;
*/
int init_digest(const PFS_global_param *param)
{
unsigned int index;
/*
Allocate memory for statements_digest_stat_array based on
performance_schema_digests_size values
......@@ -73,6 +71,7 @@ int init_digest(const PFS_global_param *param)
statements_digest_stat_array=
PFS_MALLOC_ARRAY(digest_max,
sizeof(PFS_statements_digest_stat),
PFS_statements_digest_stat,
MYF(MY_ZEROFILL));
......@@ -84,8 +83,12 @@ int init_digest(const PFS_global_param *param)
if (pfs_max_digest_length > 0)
{
/* Size of each digest array. */
size_t digest_memory_size= pfs_max_digest_length * sizeof(unsigned char);
statements_digest_token_array=
PFS_MALLOC_ARRAY(digest_max * pfs_max_digest_length,
PFS_MALLOC_ARRAY(digest_max,
digest_memory_size,
unsigned char,
MYF(MY_ZEROFILL));
......@@ -96,7 +99,7 @@ int init_digest(const PFS_global_param *param)
}
}
for (index= 0; index < digest_max; index++)
for (size_t index= 0; index < digest_max; index++)
{
statements_digest_stat_array[index].reset_data(statements_digest_token_array
+ index * pfs_max_digest_length, pfs_max_digest_length);
......@@ -144,7 +147,7 @@ int init_digest_hash(void)
lf_hash_init(&digest_hash, sizeof(PFS_statements_digest_stat*),
LF_HASH_UNIQUE, 0, 0, digest_hash_get_key,
&my_charset_bin);
digest_hash.size= digest_max;
digest_hash.size= (int32)digest_max;
digest_hash_inited= true;
}
return 0;
......@@ -334,8 +337,6 @@ void PFS_statements_digest_stat::reset_index(PFS_thread *thread)
void reset_esms_by_digest()
{
uint index;
if (statements_digest_stat_array == NULL)
return;
......@@ -344,7 +345,7 @@ void reset_esms_by_digest()
return;
/* Reset statements_digest_stat_array. */
for (index= 0; index < digest_max; index++)
for (size_t index= 0; index < digest_max; index++)
{
statements_digest_stat_array[index].reset_index(thread);
statements_digest_stat_array[index].reset_data(statements_digest_token_array + index * pfs_max_digest_length, pfs_max_digest_length);
......
......@@ -27,7 +27,7 @@
#include "sql_digest.h"
extern bool flag_statements_digest;
extern ulong digest_max;
extern size_t digest_max;
extern ulong digest_lost;
struct PFS_thread;
......
/* Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -59,8 +59,8 @@ int init_events_stages_history_long(uint events_stages_history_long_sizing)
return 0;
events_stages_history_long_array=
PFS_MALLOC_ARRAY(events_stages_history_long_size, PFS_events_stages,
MYF(MY_ZEROFILL));
PFS_MALLOC_ARRAY(events_stages_history_long_size, sizeof(PFS_events_stages),
PFS_events_stages, MYF(MY_ZEROFILL));
return (events_stages_history_long_array ? 0 : 1);
}
......
......@@ -30,7 +30,7 @@
#include "pfs_atomic.h"
#include "m_string.h"
ulong events_statements_history_long_size= 0;
size_t events_statements_history_long_size= 0;
/** Consumer flag for table EVENTS_STATEMENTS_CURRENT. */
bool flag_events_statements_current= false;
/** Consumer flag for table EVENTS_STATEMENTS_HISTORY. */
......@@ -50,9 +50,8 @@ static unsigned char *h_long_stmts_digest_token_array= NULL;
Initialize table EVENTS_STATEMENTS_HISTORY_LONG.
@param events_statements_history_long_sizing table sizing
*/
int init_events_statements_history_long(uint events_statements_history_long_sizing)
int init_events_statements_history_long(size_t events_statements_history_long_sizing)
{
uint index;
events_statements_history_long_size= events_statements_history_long_sizing;
events_statements_history_long_full= false;
PFS_atomic::store_u32(&events_statements_history_long_index, 0);
......@@ -61,8 +60,8 @@ int init_events_statements_history_long(uint events_statements_history_long_sizi
return 0;
events_statements_history_long_array=
PFS_MALLOC_ARRAY(events_statements_history_long_size, PFS_events_statements,
MYF(MY_ZEROFILL));
PFS_MALLOC_ARRAY(events_statements_history_long_size, sizeof(PFS_events_statements),
PFS_events_statements, MYF(MY_ZEROFILL));
if (events_statements_history_long_array == NULL)
{
......@@ -72,8 +71,11 @@ int init_events_statements_history_long(uint events_statements_history_long_sizi
if (pfs_max_digest_length > 0)
{
/* Size of each digest token array. */
size_t digest_text_size= pfs_max_digest_length * sizeof(unsigned char);
h_long_stmts_digest_token_array=
PFS_MALLOC_ARRAY(events_statements_history_long_size * pfs_max_digest_length,
PFS_MALLOC_ARRAY(events_statements_history_long_size, digest_text_size,
unsigned char, MYF(MY_ZEROFILL));
if (h_long_stmts_digest_token_array == NULL)
{
......@@ -82,7 +84,7 @@ int init_events_statements_history_long(uint events_statements_history_long_sizi
}
}
for (index= 0; index < events_statements_history_long_size; index++)
for (size_t index= 0; index < events_statements_history_long_size; index++)
{
events_statements_history_long_array[index].m_digest_storage.reset(h_long_stmts_digest_token_array
+ index * pfs_max_digest_length, pfs_max_digest_length);
......
......@@ -106,9 +106,9 @@ extern bool flag_events_statements_history_long;
extern bool events_statements_history_long_full;
extern volatile uint32 events_statements_history_long_index;
extern PFS_events_statements *events_statements_history_long_array;
extern ulong events_statements_history_long_size;
extern size_t events_statements_history_long_size;
int init_events_statements_history_long(uint events_statements_history_long_sizing);
int init_events_statements_history_long(size_t events_statements_history_long_sizing);
void cleanup_events_statements_history_long();
void reset_events_statements_current();
......
/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -63,8 +63,8 @@ int init_events_waits_history_long(uint events_waits_history_long_sizing)
return 0;
events_waits_history_long_array=
PFS_MALLOC_ARRAY(events_waits_history_long_size, PFS_events_waits,
MYF(MY_ZEROFILL));
PFS_MALLOC_ARRAY(events_waits_history_long_size, sizeof(PFS_events_waits),
PFS_events_waits, MYF(MY_ZEROFILL));
return (events_waits_history_long_array ? 0 : 1);
}
......
/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -49,7 +49,7 @@ void *pfs_malloc(size_t size, myf flags)
DBUG_ASSERT(! pfs_initialized);
DBUG_ASSERT(size > 0);
void *ptr;
void *ptr= NULL;
#ifdef PFS_ALIGNEMENT
#ifdef HAVE_POSIX_MEMALIGN
......@@ -125,6 +125,40 @@ void pfs_print_error(const char *format, ...)
fflush(stderr);
}
/**
Array allocation for the performance schema.
Checks for overflow of n * size before allocating.
@param n number of array elements
@param size element size
@param flags malloc flags
@return pointer to memory on success, else NULL
*/
void *pfs_malloc_array(size_t n, size_t size, myf flags)
{
DBUG_ASSERT(n > 0);
DBUG_ASSERT(size > 0);
size_t array_size= n * size;
/* Check for overflow before allocating. */
if (is_overflow(array_size, n, size))
return NULL;
return pfs_malloc(array_size, flags);
}
/**
Detect multiplication overflow.
@param product multiplication product
@param n1 operand
@param n2 operand
@return true if multiplication caused an overflow.
*/
bool is_overflow(size_t product, size_t n1, size_t n2)
{
if (n1 != 0 && (product / n1 != n2))
return true;
else
return false;
}
/** Convert raw ip address into readable format. Do not do a reverse DNS lookup. */
uint pfs_get_socket_address(char *host,
......
/* Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
/* Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -43,18 +43,24 @@ extern size_t pfs_allocated_memory;
void *pfs_malloc(size_t size, myf flags);
/** Allocate an array of structures with overflow check. */
void *pfs_malloc_array(size_t n, size_t size, myf flags);
/**
Helper, to allocate an array of structures.
@param n number of elements in the array.
@param T type of an element.
@param n number of elements in the array
@param s size of array element
@param T type of an element
@param f flags to use when allocating memory
*/
#define PFS_MALLOC_ARRAY(n, T, f) \
reinterpret_cast<T*> (pfs_malloc((n) * sizeof(T), (f)))
#define PFS_MALLOC_ARRAY(n, s, T, f) \
reinterpret_cast<T*>(pfs_malloc_array((n), (s), (f)))
/** Free memory allocated with @sa pfs_malloc. */
void pfs_free(void *ptr);
/** Detect multiplication overflow. */
bool is_overflow(size_t product, size_t n1, size_t n2);
uint pfs_get_socket_address(char *host,
uint host_len,
......@@ -106,7 +112,7 @@ inline uint randomized_index(const void *ptr, uint max_size)
value= (reinterpret_cast<intptr> (ptr)) >> 3;
value*= 1789;
value+= seed2 + seed1 + 1;
result= (static_cast<uint> (value)) % max_size;
seed2= seed1*seed1;
......
......@@ -66,7 +66,7 @@ int init_host(const PFS_global_param *param)
if (host_max > 0)
{
host_array= PFS_MALLOC_ARRAY(host_max, PFS_host,
host_array= PFS_MALLOC_ARRAY(host_max, sizeof(PFS_host), PFS_host,
MYF(MY_ZEROFILL));
if (unlikely(host_array == NULL))
return 1;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment