diff options
Diffstat (limited to 'mysql-test/suite/perfschema/t/dml_handler.test')
| -rw-r--r-- | mysql-test/suite/perfschema/t/dml_handler.test | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mysql-test/suite/perfschema/t/dml_handler.test b/mysql-test/suite/perfschema/t/dml_handler.test new file mode 100644 index 00000000000..db74c85350a --- /dev/null +++ b/mysql-test/suite/perfschema/t/dml_handler.test @@ -0,0 +1,42 @@ +# Tests for PERFORMANCE_SCHEMA + +--source include/not_embedded.inc +--source include/have_perfschema.inc + +#============================================================================== +# This test verifies that the peformance schema storage engine does not support +# HANDLER operations. +# +# Get the list of tables from information_schema.tables, store the table names +# in a temporary table. For each table in the list, attempt a HANDLER ... OPEN, +# which should return error 1031, "Table storage engine for '<table name>' +# doesn't have this option." +# +--echo +--echo # Create a temporary table of performance schema table names +--echo + +CREATE TEMPORARY TABLE table_list (id INT AUTO_INCREMENT, PRIMARY KEY (id)) AS + SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES + WHERE TABLE_SCHEMA='performance_schema'; + +SELECT COUNT(*) FROM table_list INTO @table_count; + +let $count=`SELECT @table_count`; + +--echo +--echo # For each table in the performance schema, attempt HANDLER...OPEN, +--echo # which should fail with an error 1031, ER_ILLEGAL_HA. +--echo + +while ($count > 0) +{ + eval SELECT TABLE_NAME INTO @table_name FROM table_list WHERE id=$count; + let $table_name = `SELECT @table_name`; + --error ER_ILLEGAL_HA + eval HANDLER performance_schema.$table_name OPEN; + dec $count; +} + +DROP TEMPORARY TABLE table_list; + |
