498 lines
14 KiB
Plaintext
498 lines
14 KiB
Plaintext
--echo
|
|
--echo ## Test Statement Digest Query Sample WL#9830
|
|
--echo ##
|
|
--echo ## A query sample is collected for each new maximum wait time, and is
|
|
--echo ## displayed in events_statements_summary_by_digest.
|
|
--echo ##
|
|
--echo ## TEST 1 - Query sampled when max age disabled, max wait exceeded
|
|
--echo ## TEST 2 - Query sampled when age expires, max wait not exceeded
|
|
--echo ## TEST 3 - Query not sampled before max age expires, max wait not exceeded
|
|
--echo ## TEST 4 - Query sampled before max age, max wait exceeded
|
|
--echo ## TEST 5 - Verify QUERY_SAMPLE_TEXT is limited by performance_schema_max_sql_text_length
|
|
--echo ## TEST 6 - Verify QUERY_SAMPLE_TIMER_WAIT and QUERY_SAMPLE_SEEN
|
|
|
|
# A query sample is taken when:
|
|
# - It is the first query, or
|
|
# - The wait time exceeds max_timer_wait, or
|
|
# - The age of the previous query sample exceeds the maximum query age.
|
|
#
|
|
# For other than the first query, the wait time is always examined.
|
|
# The age criteria forces a query sample refresh when the wait time remains below max_timer_wait.
|
|
|
|
--source include/no_protocol.inc
|
|
|
|
let $query_select = digest, max_timer_wait, last_seen, query_sample_text, query_sample_seen, query_sample_timer_wait;
|
|
let $query_into_1 = @digest_1, @max_timer_wait_1, @last_seen_1, @query_sample_text_1, @query_sample_seen_1, @query_sample_timer_wait_1;
|
|
let $query_into_2 = @digest_2, @max_timer_wait_2, @last_seen_2, @query_sample_text_2, @query_sample_seen_2, @query_sample_timer_wait_2;
|
|
let $query_into_3 = @digest_3, @max_timer_wait_3, @last_seen_3, @query_sample_text_3, @query_sample_seen_3, @query_sample_timer_wait_3;
|
|
let $query_from = performance_schema.events_statements_summary_by_digest;
|
|
let $query_where = digest_text = "UPDATE `t1` SET `s1` = ?";
|
|
|
|
let $query_sample_1 =
|
|
SELECT $query_select
|
|
INTO $query_into_1
|
|
FROM $query_from
|
|
WHERE $query_where;
|
|
|
|
let $query_sample_2 =
|
|
SELECT $query_select
|
|
INTO $query_into_2
|
|
FROM $query_from
|
|
WHERE $query_where;
|
|
|
|
let $query_sample_3 =
|
|
SELECT $query_select
|
|
INTO $query_into_3
|
|
FROM $query_from
|
|
WHERE $query_where;
|
|
|
|
let $query_debug_1 = SELECT $query_into_1;
|
|
let $query_debug_2 = SELECT $query_into_2;
|
|
let $query_debug_3 = SELECT $query_into_3;
|
|
|
|
#--echo DEBUG
|
|
#--echo $query_sample_1;
|
|
#--echo $query_sample_2;
|
|
#--echo $query_sample_3;
|
|
|
|
--echo
|
|
--echo ##### TEST 1 - QUERY SAMPLED WITH NEW MAX WAIT TIME
|
|
--echo
|
|
--echo ## 1.1 SETUP
|
|
USE test;
|
|
CREATE TABLE t1 (s1 INT);
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
|
|
--echo
|
|
--echo ## 1.2 DISABLE MAX SAMPLE AGE
|
|
let $max_age_save = `SELECT @@global.performance_schema_max_digest_sample_age`;
|
|
SET @@global.performance_schema_max_digest_sample_age = 0;
|
|
|
|
TRUNCATE performance_schema.events_statements_summary_by_digest;
|
|
|
|
--echo
|
|
--echo ## 1.3 QUERY_1: UPDATE 3 ROWS
|
|
UPDATE t1 SET s1 = 400;
|
|
|
|
--echo
|
|
--echo ## 1.4 COLLECT DIGEST, MAX WAIT, QUERY SAMPLE
|
|
eval $query_sample_1;
|
|
|
|
--echo
|
|
--echo ## 1.5 ADD 48K ROWS
|
|
--echo
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
FLUSH TABLE test.t1;
|
|
|
|
--echo
|
|
--echo ## 1.6 QUERY_2: UPDATE 12K ROWS
|
|
UPDATE t1 SET s1 = 500;
|
|
|
|
--echo
|
|
--echo ## 1.7 COLLECT DIGEST, MAX WAIT, QUERY SAMPLE
|
|
eval $query_sample_2;
|
|
|
|
--echo
|
|
--echo ## 1.8 TRUNCATE, ADD 24 ROWS
|
|
--echo
|
|
TRUNCATE t1;
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
|
|
--echo
|
|
--echo ## 1.9 QUERY_3: UPDATE 24 ROWS
|
|
UPDATE t1 SET s1 = 600;
|
|
|
|
--echo
|
|
--echo ## 1.10 COLLECT DIGEST, MAX WAIT, QUERY SAMPLE
|
|
eval $query_sample_3;
|
|
|
|
#--echo
|
|
#--echo ## DEBUG
|
|
#--echo QUERY_1
|
|
#eval $query_debug_1;
|
|
#--echo QUERY_2
|
|
#eval $query_debug_2;
|
|
#--echo QUERY_3
|
|
#eval $query_debug_3;
|
|
|
|
--echo
|
|
--echo ## 1.11 VERIFY THAT DIGESTS MATCH
|
|
--echo
|
|
SELECT @digest_1 = @digest_2 AS 'Expect 1';
|
|
--echo
|
|
SELECT @digest_2 = @digest_3 AS 'Expect 1';
|
|
|
|
--echo
|
|
--echo ## 1.12 VERIFY MAX_TIMER_WAITS
|
|
--echo
|
|
--echo # Max timer wait 1 < max wait 2
|
|
SELECT @max_timer_wait_1 < @max_timer_wait_2 AS 'Expect 1';
|
|
|
|
if (`SELECT @max_timer_wait_1 >= @max_timer_wait_2`)
|
|
{
|
|
--echo FAILED: Expected max_timer_wait_1 < max_timer_wait_2
|
|
--echo QUERY_1
|
|
eval $query_debug_1;
|
|
--echo QUERY_2
|
|
eval $query_debug_2;
|
|
}
|
|
|
|
--echo
|
|
--echo # Max timer wait 3 = max wait 2, no change
|
|
SELECT @max_timer_wait_3 = @max_timer_wait_2 AS 'Expect 1';
|
|
|
|
--echo
|
|
--echo ## 1.13. VERIFY QUERY SAMPLES
|
|
--echo
|
|
--echo # Query_1: Sample taken, first query
|
|
SELECT @query_sample_text_1 AS 'Expect UPDATE t1 SET s1 = 400';
|
|
--echo
|
|
--echo # Query_2: Sample taken, max_timer_wait exceeded
|
|
SELECT @query_sample_text_2 AS 'Expect UPDATE t1 SET s1 = 500';
|
|
--echo
|
|
--echo # Query_3: No sample taken, max_timer_wait not exceeded, no change
|
|
SELECT @query_sample_text_3 AS 'Expect UPDATE t1 SET s1 = 500';
|
|
|
|
|
|
--echo
|
|
--echo ##### TEST 2 - QUERY SAMPLED WHEN MAX SAMPLE AGE EXPIRES, MAX WAIT NOT EXCEEDED
|
|
--echo
|
|
--echo ## 2.1 SET MAX SAMPLE AGE TO 3 SECONDS
|
|
SET @@global.performance_schema_max_digest_sample_age = 3;
|
|
TRUNCATE performance_schema.events_statements_summary_by_digest;
|
|
--echo
|
|
TRUNCATE t1;
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
--echo
|
|
--echo ## 2.2 ADD 12K ROWS
|
|
--echo
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
FLUSH TABLE test.t1;
|
|
|
|
--echo
|
|
--echo ## 2.3 QUERY_1: UPDATE 12K ROWS TO SET MAX_TIMER_WAIT
|
|
UPDATE t1 SET s1 = 700;
|
|
|
|
--echo
|
|
--echo ## 2.4 WAIT 10 SECONDS
|
|
real_sleep 10;
|
|
|
|
--echo
|
|
--echo ## 2.5 COLLECT DIGEST, MAX WAIT, QUERY SAMPLE, QUERY SEEN
|
|
--echo
|
|
eval $query_sample_1;
|
|
|
|
--echo
|
|
--echo ## 2.6 QUERY_2: UPDATE 3 ROWS AGAIN, QUERY SHOULD BE SAMPLED
|
|
TRUNCATE t1;
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
UPDATE t1 SET s1 = 800;
|
|
|
|
--echo
|
|
--echo ## 2.7 COLLECT DIGEST, MAX WAIT, QUERY SAMPLE, QUERY SEEN
|
|
eval $query_sample_2;
|
|
|
|
--echo
|
|
--echo ## 2.8 VERIFY THAT DIGESTS MATCH
|
|
--echo
|
|
SELECT @digest_1 = @digest_2 AS 'Expect 1';
|
|
|
|
--echo
|
|
--echo ## 2.9 VERIFY MAX_TIMER_WAITS, QUERY_SAMPLE_TIMER_WAIT
|
|
--echo
|
|
--echo # Max timer wait 1 = max wait 2
|
|
SELECT @max_timer_wait_1 = @max_timer_wait_2 AS 'Expect 1';
|
|
SELECT @query_sample_timer_wait_1 > @query_sample_timer_wait_2 AS 'Expect 1';
|
|
--echo
|
|
|
|
if (`SELECT @query_sample_timer_wait_1 <= @query_sample_timer_wait_2`)
|
|
{
|
|
--echo FAILED: Expected query_sample_timer_wait_1 > query_sample_timer_wait_2
|
|
--echo QUERY_1
|
|
eval $query_debug_1;
|
|
--echo QUERY_2
|
|
eval $query_debug_2;
|
|
}
|
|
|
|
--echo ## 2.10 VERIFY QUERY SAMPLES
|
|
--echo
|
|
--echo # Query_1: Sample taken, first query
|
|
SELECT @query_sample_text_1 AS 'Expect UPDATE t1 SET s1 = 700';
|
|
--echo
|
|
--echo # Query_2: Sample taken, age expired
|
|
SELECT @query_sample_text_2 AS 'Expect UPDATE t1 SET s1 = 800';
|
|
--echo
|
|
|
|
|
|
--echo
|
|
--echo ##### TEST 3 - QUERY NOT SAMPLED BEFORE AGE EXPIRES, MAX WAIT NOT EXCEEDED
|
|
--echo
|
|
|
|
--echo ## 3.1 SET MAX SAMPLE AGE TO 1000 SECONDS
|
|
SET @@global.performance_schema_max_digest_sample_age = 1000;
|
|
|
|
--echo
|
|
TRUNCATE t1;
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
--echo
|
|
--echo ## 3.2 ADD 12K ROWS
|
|
--echo
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
FLUSH TABLE test.t1;
|
|
TRUNCATE performance_schema.events_statements_summary_by_digest;
|
|
|
|
--echo
|
|
--echo ## 3.2 QUERY_1: UPDATE 12K ROWS TO SET MAX_TIMER_WAIT
|
|
UPDATE t1 SET s1 = 700;
|
|
|
|
--echo
|
|
--echo ## 3.3 COLLECT DIGEST, MAX WAIT, query_sample_timer_wait, QUERY SAMPLE, QUERY SEEN, LAST SEEN
|
|
eval $query_sample_1;
|
|
|
|
--echo
|
|
--echo ## 3.4 WAIT 10 SECONDS
|
|
real_sleep 10;
|
|
|
|
--echo
|
|
--echo ## 3.5 QUERY_2: UPDATE 3 ROWS, QUERY SHOULD *NOT* BE SAMPLED
|
|
TRUNCATE t1;
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
--echo
|
|
UPDATE t1 SET s1 = 800;
|
|
|
|
--echo
|
|
--echo ## 3.6 COLLECT DIGEST, MAX WAIT, query_sample_timer_wait, QUERY SAMPLE, QUERY SEEN, LAST SEEN
|
|
eval $query_sample_2;
|
|
|
|
#--echo
|
|
#--echo ## DEBUG
|
|
#--echo
|
|
#SELECT @digest_1, @max_timer_wait_1, @query_sample_timer_wait_1, @query_sample_text_1, @query_sample_seen_1;
|
|
#--echo
|
|
#SELECT @digest_2, @max_timer_wait_2, @query_sample_timer_wait_2, @query_sample_text_2, @query_sample_seen_2;
|
|
|
|
--echo
|
|
--echo ## 3.7 VERIFY THAT DIGESTS MATCH
|
|
--echo
|
|
SELECT @digest_1 = @digest_2 AS 'Expect 1';
|
|
|
|
--echo
|
|
--echo ## 3.8 VERIFY MAX_TIMER_WAITS, QUERY_SAMPLE_TIMER_WAIT
|
|
--echo
|
|
--echo # Max timer wait 1 = max wait 2
|
|
SELECT @max_timer_wait_1 = @max_timer_wait_2 AS 'Expect 1 because query is not sampled';
|
|
--echo
|
|
SELECT @query_sample_timer_wait_1 = @query_sample_timer_wait_2 AS 'Expect 1 because query is not sampled';
|
|
--echo
|
|
SELECT @last_seen_1 < @last_seen_2 AS 'Expect 1 because a more recent query with same digest was queried';
|
|
--echo
|
|
|
|
--echo
|
|
--echo ## 3.9 VERIFY QUERY SAMPLES - Query 1 == Query 2
|
|
--echo
|
|
--echo # Query_1: Sampled, first query
|
|
SELECT @query_sample_text_1 AS 'Expect UPDATE t1 SET s1 = 700';
|
|
--echo
|
|
--echo # Query_2: Not sampled, age not expired, max_timer_wait not exceeded, no change
|
|
SELECT @query_sample_text_2 AS 'Expect UPDATE t1 SET s1 = 700';
|
|
|
|
|
|
--echo
|
|
--echo ##### TEST 4 - QUERY SAMPLED WHEN MAX SAMPLE AGE DOES NOT EXPIRE BUT MAX WAIT IS EXCEEDED
|
|
--echo
|
|
SET @@global.performance_schema_max_digest_sample_age = 10000;
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_warnings
|
|
CREATE TABLE t1 (s1 int);
|
|
INSERT INTO t1 values (100),(200),(300);
|
|
TRUNCATE performance_schema.events_statements_summary_by_digest;
|
|
|
|
--echo
|
|
--echo ## 4.1 Query 1 to test
|
|
--echo
|
|
UPDATE t1 SET s1 = 400;
|
|
--echo
|
|
eval $query_sample_1;
|
|
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
|
|
--echo
|
|
--echo ## 4.2 Query 2 to test
|
|
--echo
|
|
# It should take longer, and therefore be sampled again,
|
|
# even when not matching the max age criteria.
|
|
UPDATE t1 SET s1 = 500;
|
|
--echo
|
|
eval $query_sample_2;
|
|
|
|
# --echo DEBUG
|
|
# SELECT @digest_1, @max_timer_wait_1, @query_sample_timer_wait_1, @query_sample_text_1;
|
|
# SELECT @digest_2, @max_timer_wait_2, @query_sample_timer_wait_2, @query_sample_text_2;
|
|
|
|
--echo
|
|
--echo ## Verify: Digests should be the same
|
|
SELECT @digest_1 = @digest_2 AS "check_digest";
|
|
--echo
|
|
--echo ## The second query is expected to be slower
|
|
SELECT @max_timer_wait_1 < @max_timer_wait_2 AS "check_wait";
|
|
--echo
|
|
--echo ## The sampled query should be SET s1 = 400, then SET s1 = 500
|
|
SELECT @query_sample_text_1 AS "Expect UPDATE t1 SET s1 = 400";
|
|
--echo
|
|
SELECT @query_sample_text_2 AS "Expect UPDATE t1 SET s1 = 500";
|
|
|
|
|
|
--echo
|
|
--echo
|
|
--echo ##### TEST 5 - VERIFY QUERY_SAMPLE_SEEN AND QUERY_SAMPLE_TIMER_WAIT
|
|
--echo
|
|
|
|
# Execute a long update to establish a large max_timer_wait.
|
|
# Set the max age to 2 seconds, then sleep and let the age expire. The next query will be sampled.
|
|
# Execute an update with query_sample_timer_wait < max_timer_wait.
|
|
# Verify query_sample_seen == last_seen.
|
|
# Verify max_timer_wait > query_sample_timer_wait.
|
|
# Verify query_sample_timer_wait == events_statements_history.timer_wait.
|
|
|
|
--disable_warnings
|
|
DROP TABLE IF EXISTS t1;
|
|
--enable_warnings
|
|
CREATE TABLE t1 (s1 int);
|
|
|
|
--echo ## 5.1 SET MAX SAMPLE AGE TO 2 SECONDS
|
|
SET @@global.performance_schema_max_digest_sample_age = 2;
|
|
TRUNCATE performance_schema.events_statements_summary_by_digest;
|
|
TRUNCATE performance_schema.events_statements_history;
|
|
--echo
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
|
|
--echo
|
|
--echo ## 5.2 ADD 12K ROWS
|
|
--echo
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
INSERT INTO t1 SELECT * FROM t1;
|
|
FLUSH TABLE test.t1;
|
|
|
|
--echo
|
|
--echo ## 5.3 QUERY_1: UPDATE 12K ROWS
|
|
# Set new query sample and max_timer_wait
|
|
UPDATE t1 SET s1 = 1000;
|
|
|
|
--echo
|
|
--echo ## 5.3a COLLECT DIGEST, MAX WAIT, QUERY SAMPLE, QUERY SEEN
|
|
eval $query_sample_1;
|
|
|
|
#--echo
|
|
#--echo DEBUG QUERY_1
|
|
#SELECT @digest_1, @max_timer_wait_1, @last_seen_1, @query_sample_text_1, @query_sample_seen_1, @query_sample_timer_wait_1;
|
|
|
|
--echo
|
|
--echo ## 5.4. WAIT 10 SECONDS, FORCE AGE
|
|
real_sleep 10;
|
|
|
|
--echo
|
|
--echo ## 5.5. QUERY_2: UPDATE 3 ROWS
|
|
# Query should be sampled due to max age
|
|
TRUNCATE t1;
|
|
INSERT INTO t1 VALUES (100), (200), (300);
|
|
UPDATE t1 SET s1 = 1100;
|
|
|
|
--echo
|
|
--echo ## 5.5a COLLECT DIGEST, MAX WAIT, QUERY SAMPLE, QUERY SEEN
|
|
eval $query_sample_2;
|
|
|
|
#--echo
|
|
#--echo DEBUG QUERY_2
|
|
#SELECT @digest_2, @max_timer_wait_2, @last_seen_2, @query_sample_text_2, @query_sample_seen_2, @query_sample_timer_wait_2;
|
|
|
|
--echo
|
|
--echo ## 5.6 VERIFY MAX_TIMER_WAIT VS QUERY_SAMPLE_TIMER_WAIT
|
|
--echo
|
|
--echo # Verify max_timer_wait has not changed
|
|
SELECT @max_timer_wait_1 = @max_timer_wait_2 AS 'Expect 1';
|
|
|
|
--echo
|
|
--echo # Verify max_timer_wait > query_sample_timer_wait
|
|
SELECT @max_timer_wait_2 > @query_sample_timer_wait_2 AS 'Expect 1';
|
|
|
|
--echo
|
|
--echo ## 5.7 VERIFY QUERY_SAMPLE_TIMER_WAIT VS. STATEMENTS HISTORY
|
|
--echo
|
|
# Verify that query_sample_timer_wait is the same as in the statement event
|
|
SELECT COUNT(*) FROM performance_schema.events_statements_history
|
|
WHERE digest = @digest_2 AND timer_wait = @query_sample_timer_wait_2
|
|
AND sql_text = @query_sample_text_2;
|
|
|
|
--echo
|
|
--echo ## 5.8 VERIFY QUERY_SAMPLE_SEEN == LAST_SEEN
|
|
--echo
|
|
SELECT @query_sample_seen_2 = @last_seen_2 AS 'Expect 1';
|
|
|
|
|
|
--echo
|
|
--echo ## CLEAN UP
|
|
--echo
|
|
DROP TABLE t1;
|
|
--echo
|
|
--echo # Restore max sample age
|
|
eval SET @@global.performance_schema_max_digest_sample_age = $max_age_save;
|