diff options
Diffstat (limited to 'mysql-test/suite/perfschema/t/dml_setup_instruments.test')
-rw-r--r-- | mysql-test/suite/perfschema/t/dml_setup_instruments.test | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/t/dml_setup_instruments.test b/mysql-test/suite/perfschema/t/dml_setup_instruments.test new file mode 100644 index 00000000..9d178ef2 --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_setup_instruments.test @@ -0,0 +1,103 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +# The query result are not re producible, +# due to variations in platforms and plugins +# We still execute the select statement, for: +# - code coverage +# - make sure it does not crash +# - valgrind coverage + +--disable_result_log +select * from performance_schema.setup_instruments; +--enable_result_log + +# DEBUG_SYNC::mutex is dependent on the build (DEBUG only) + +select * from performance_schema.setup_instruments + where name like 'Wait/Synch/Mutex/sql/%' + and name not in ('wait/synch/mutex/sql/DEBUG_SYNC::mutex') + order by name limit 10; + +# CRYPTO_dynlock_value::lock is dependent on the build (SSL) +# LOCK_named_pipe_full_access_group is dependent on the build (Windows) + +select * from performance_schema.setup_instruments + where name like 'Wait/Synch/Rwlock/sql/%' + and name not in ( + 'wait/synch/rwlock/sql/CRYPTO_dynlock_value::lock', + 'wait/synch/rwlock/sql/LOCK_named_pipe_full_access_group') + order by name limit 10; + +# COND_handler_count is dependent on the build (Windows only) +# DEBUG_SYNC::cond is dependent on the build (DEBUG only) +# COND_main_thread_in_use is dependent on the build (non Windows) +# COND_start_signal_handler is dependent on the build (non Windows) + +select * from performance_schema.setup_instruments + where name like 'Wait/Synch/Cond/sql/%' + and name not in ( + 'wait/synch/cond/sql/COND_open', + 'wait/synch/cond/sql/COND_handler_count', + 'wait/synch/cond/sql/DEBUG_SYNC::cond', + 'wait/synch/cond/sql/COND_socket_listener_active', + 'wait/synch/cond/sql/COND_start_signal_handler') + order by name limit 10; + +--disable_result_log +select * from performance_schema.setup_instruments + where name='Wait'; +--enable_result_log + +--disable_result_log +select * from performance_schema.setup_instruments + where enabled='YES'; +--enable_result_log + +--error ER_TABLEACCESS_DENIED_ERROR +insert into performance_schema.setup_instruments + set name='FOO', enabled='YES', timed='YES'; + +--error ER_WRONG_PERFSCHEMA_USAGE +update performance_schema.setup_instruments + set name='FOO'; + +update performance_schema.setup_instruments + set enabled='NO'; + +update performance_schema.setup_instruments + set timed='NO'; + +--disable_result_log +select * from performance_schema.setup_instruments; +--enable_result_log + +update performance_schema.setup_instruments + set enabled='YES', timed='YES'; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.setup_instruments; + +--error ER_TABLEACCESS_DENIED_ERROR +delete from performance_schema.setup_instruments + where name like 'Wait/Synch/%'; + +LOCK TABLES performance_schema.setup_instruments READ; +UNLOCK TABLES; + +LOCK TABLES performance_schema.setup_instruments WRITE; +UNLOCK TABLES; + +--echo # +--echo # Bug#13813193 ASSERTION `TABLE->READ_SET == +--echo # &TABLE->DEF_READ_SET' FAILED / MYSQL_UPDATE +--echo # +UPDATE performance_schema.setup_instruments SET timed='NO' +ORDER BY RAND(); + +# Test cleanup + +update performance_schema.setup_instruments + set enabled='YES', TIMED='YES'; |