summaryrefslogtreecommitdiff
path: root/mysql-test/t
diff options
context:
space:
mode:
authorunknown <Kristofer.Pettersson@naruto.>2007-04-02 09:51:14 +0200
committerunknown <Kristofer.Pettersson@naruto.>2007-04-02 09:51:14 +0200
commit05e3c7e0bc0e2697e4589fc01a0e1cbfd8693710 (patch)
tree6c3a4312218dd7401a512d3936d0339fdb05721a /mysql-test/t
parentfa2791a35c025b52ebfe9574526ed826c91f42cb (diff)
downloadmariadb-git-05e3c7e0bc0e2697e4589fc01a0e1cbfd8693710.tar.gz
Bug#26174 Server Crash:INSERT ... SELECT ... FROM I_S.GLOBAL_STATUS in Event
- Some variables in I_S.GLOBAL_STATUS were depending on a network connection in order to evaluate. Since no network connection is present during the execution of an event, this caused the server to crash. - The variable function hooks does now verify that the vio- object is valid before attempting to use it. mysql-test/r/information_schema.result: Added test case. mysql-test/t/information_schema.test: Added test case.
Diffstat (limited to 'mysql-test/t')
-rw-r--r--mysql-test/t/information_schema.test40
1 files changed, 40 insertions, 0 deletions
diff --git a/mysql-test/t/information_schema.test b/mysql-test/t/information_schema.test
index 09a588c9195..bd1f4271c94 100644
--- a/mysql-test/t/information_schema.test
+++ b/mysql-test/t/information_schema.test
@@ -1042,5 +1042,45 @@ select user,db from information_schema.processlist;
connection default;
drop user user3148@localhost;
+
+
+#
+# Bug #26174 Server Crash: INSERT ... SELECT ... FROM I_S.GLOBAL_STATUS in Event
+#
+--disable_warnings
+DROP TABLE IF EXISTS thread_status;
+CREATE TABLE thread_status (variable_name VARCHAR(64),
+variable_value DECIMAL(22,7));
+CREATE TABLE server_status (variable_name VARCHAR(64),
+variable_value DECIMAL(22,7));
+DROP EVENT IF EXISTS log_status;
+--enable_warnings
+
+DELIMITER $$;
+
+CREATE EVENT log_status
+ ON SCHEDULE EVERY 1 SECOND
+ DO
+ BEGIN
+ INSERT INTO thread_status SELECT variable_name, variable_value FROM
+information_schema.session_status;
+ INSERT INTO server_status SELECT variable_name, variable_value FROM
+information_schema.global_status;
+ END$$
+
+DELIMITER ;$$
+
+SET GLOBAL event_scheduler=1;
+sleep 1;
+SELECT * FROM thread_status WHERE variable_name LIKE 'SSL%' LIMIT 1,2;
+SELECT variable_name FROM server_status LIMIT 1,2;
+
+
+
+DROP EVENT log_status;
+DROP TABLE thread_status;
+DROP TABLE server_status;
+SET GLOBAL event_scheduler=0;
+
--echo End of 5.1 tests.