summaryrefslogtreecommitdiffstats
path: root/mysql-test/suite/perfschema/t/dml_handler.test
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-04 18:00:34 +0000
commit3f619478f796eddbba6e39502fe941b285dd97b1 (patch)
treee2c7b5777f728320e5b5542b6213fd3591ba51e2 /mysql-test/suite/perfschema/t/dml_handler.test
parentInitial commit. (diff)
downloadmariadb-upstream.tar.xz
mariadb-upstream.zip
Adding upstream version 1:10.11.6.upstream/1%10.11.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'mysql-test/suite/perfschema/t/dml_handler.test')
-rw-r--r--mysql-test/suite/perfschema/t/dml_handler.test46
1 files changed, 46 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 00000000..d289d89c
--- /dev/null
+++ b/mysql-test/suite/perfschema/t/dml_handler.test
@@ -0,0 +1,46 @@
+# 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'
+ ORDER BY TABLE_NAME;
+
+--enable_prepare_warnings
+
+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;
+}
+
+--disable_prepare_warnings
+
+DROP TEMPORARY TABLE table_list;