mariadb/mysql-test/suite/perfschema/t/statement_program_lost_inst.test
Sergei Golubchik 0ea717f51a P_S 5.7.28
2020-03-10 19:24:22 +01:00

72 lines
2.8 KiB
Text

#-------------------------------------------------------------
# Tests for PERFORMANCE_SCHEMA stored programs instrumentation
#-------------------------------------------------------------
#
# Test case to show the behaviour of stored program instrumentation
# when values of the system variables performance_schema_max_program_instances &
# performance_schema_max_statement_stack are less than the statistics collected.
# The status of the lost instrumentation is shown through the status variables
# performance_schema_program_lost & performance_schema_nested_statement_lost
#
# Restarting the server at the begining of the test.
# This is to avoid the instrumentation of extra SPs called by MTR
# These additional stored programs which will be added might cause
# result content mismatch failure.
--source include/not_embedded.inc
--source include/have_perfschema.inc
let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
--exec echo "wait" > $restart_file
--shutdown_server
--source include/wait_until_disconnected.inc
--exec echo "restart:--performance_schema_max_program_instances=7 --performance_schema_max_statement_stack=2 --thread_stack=655360">$restart_file
--enable_reconnect
--source include/wait_until_connected_again.inc
--source ../include/start_server_common.inc
# Values of variables server variables
show global variables like "performance_schema_max_program_instances";
show global variables like "performance_schema_max_statement_stack";
--echo #####################
--echo # Setup
--echo #####################
--source suite/perfschema/include/program_nested_setup.inc
# Truncate summary table
TRUNCATE performance_schema.events_statements_summary_by_program;
SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA FROM
performance_schema.events_statements_summary_by_program
WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME;
# Flush status now
Flush status;
show global status like "%performance_schema_program_lost%";
show global status like "%performance_schema_nested_statement_lost%";
--echo #####################
--echo # Executing Queries
--echo #####################
--source suite/perfschema/include/program_nested_execution.inc
--echo ###########################################
--echo # Quering PS statement summary table #
--echo ###########################################
SELECT OBJECT_TYPE, OBJECT_NAME, OBJECT_SCHEMA
FROM performance_schema.events_statements_summary_by_program
WHERE OBJECT_SCHEMA='nested_sp' ORDER BY OBJECT_NAME;
# Now check the lost status
show global status like "%performance_schema_program_lost%";
show global status like "%performance_schema_nested_statement_lost%";
--echo #####################
--echo # Cleanup
--echo #####################
--source suite/perfschema/include/program_nested_cleanup.inc