summaryrefslogtreecommitdiff
path: root/mysql-test/main/kill_debug.result
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2022-09-28 14:43:30 +0200
committerSergei Golubchik <serg@mariadb.org>2022-09-29 00:11:02 +0200
commit74ac683a7e822f3287e75527d7d3a7ff1256c46c (patch)
treec89835dc52ffb720898ead61ce3818f7bf9b2b27 /mysql-test/main/kill_debug.result
parentd7d3ad698abde16978e094b825e17a6ecd8604e8 (diff)
downloadmariadb-git-74ac683a7e822f3287e75527d7d3a7ff1256c46c.tar.gz
cleanup: kill test
split it into debug and non-debug tests
Diffstat (limited to 'mysql-test/main/kill_debug.result')
-rw-r--r--mysql-test/main/kill_debug.result223
1 files changed, 223 insertions, 0 deletions
diff --git a/mysql-test/main/kill_debug.result b/mysql-test/main/kill_debug.result
new file mode 100644
index 00000000000..d0fadb5c7b5
--- /dev/null
+++ b/mysql-test/main/kill_debug.result
@@ -0,0 +1,223 @@
+set local sql_mode="";
+set global sql_mode="";
+CREATE FUNCTION MY_KILL(tid INT) RETURNS INT
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION BEGIN END;
+KILL tid;
+RETURN (SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = tid);
+END|
+connect con1, localhost, root;
+connect con2, localhost, root;
+connection con1;
+connection con2;
+connection con1;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read';
+connection con2;
+SET DEBUG_SYNC='now WAIT_FOR con1_read';
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+SET DEBUG_SYNC = 'RESET';
+connection con1;
+SELECT 1;
+Got one of the listed errors
+SELECT 1;
+1
+1
+SELECT @id != CONNECTION_ID();
+@id != CONNECTION_ID()
+1
+connection con2;
+SELECT 4;
+4
+4
+connection default;
+KILL (SELECT COUNT(*) FROM mysql.user);
+ERROR 42000: KILL does not support subqueries or stored functions
+connection con1;
+connection con2;
+connection con1;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read WAIT_FOR kill';
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_read';
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+SET DEBUG_SYNC = 'RESET';
+connection con1;
+SELECT 1;
+Got one of the listed errors
+SELECT 1;
+1
+1
+SELECT @id != CONNECTION_ID();
+@id != CONNECTION_ID()
+1
+connection con2;
+SELECT 4;
+4
+4
+connection default;
+CREATE TABLE t1 (id INT PRIMARY KEY AUTO_INCREMENT);
+CREATE TABLE t2 (id INT UNSIGNED NOT NULL);
+INSERT INTO t1 VALUES
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0),
+(0),(0),(0),(0),(0),(0),(0),(0), (0),(0),(0),(0),(0),(0),(0),(0);
+INSERT t1 SELECT 0 FROM t1 AS a1, t1 AS a2 LIMIT 4032;
+INSERT INTO t2 SELECT id FROM t1;
+connection con1;
+connection con2;
+connection con1;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync';
+SELECT id FROM t1 WHERE id IN
+(SELECT DISTINCT a.id FROM t2 a, t2 b, t2 c, t2 d
+GROUP BY ACOS(1/a.id), b.id, c.id, d.id
+HAVING a.id BETWEEN 10 AND 20);
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL @id;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+connection con1;
+Got one of the listed errors
+SELECT 1;
+1
+1
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1, t2;
+connection con1;
+connection con2;
+connection con1;
+SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill';
+SELECT ACOS(0);
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+ACOS(0)
+1.5707963267948966
+SELECT 1;
+1
+1
+SELECT @id = CONNECTION_ID();
+@id = CONNECTION_ID()
+1
+connection default;
+SET DEBUG_SYNC = 'RESET';
+CREATE TABLE t1 (f1 INT);
+CREATE FUNCTION bug27563() RETURNS INT(11)
+DETERMINISTIC
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLSTATE '70100' SET @a:= 'killed';
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @a:= 'exception';
+SET DEBUG_SYNC= 'now SIGNAL in_sync WAIT_FOR kill';
+RETURN 1;
+END|
+connection con1;
+connection con2;
+connection con1;
+INSERT INTO t1 VALUES (bug27563());
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
+f1
+connection default;
+SET DEBUG_SYNC = 'RESET';
+INSERT INTO t1 VALUES(0);
+connection con1;
+UPDATE t1 SET f1= bug27563();
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
+f1
+0
+connection default;
+SET DEBUG_SYNC = 'RESET';
+INSERT INTO t1 VALUES(1);
+connection con1;
+DELETE FROM t1 WHERE bug27563() IS NULL;
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
+f1
+0
+1
+connection default;
+SET DEBUG_SYNC = 'RESET';
+connection con1;
+SELECT * FROM t1 WHERE f1= bug27563();
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
+f1
+0
+1
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP FUNCTION bug27563;
+CREATE TABLE t2 (f2 INT);
+CREATE TRIGGER trg27563 BEFORE INSERT ON t1 FOR EACH ROW
+BEGIN
+DECLARE CONTINUE HANDLER FOR SQLSTATE '70100' SET @a:= 'killed';
+DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET @a:= 'exception';
+INSERT INTO t2 VALUES(0);
+SET DEBUG_SYNC= 'now SIGNAL in_sync WAIT_FOR kill';
+INSERT INTO t2 VALUES(1);
+END|
+connection con1;
+INSERT INTO t1 VALUES(2),(3);
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR in_sync';
+KILL QUERY @id;
+connection con1;
+ERROR 70100: Query execution was interrupted
+SELECT * FROM t1;
+f1
+0
+1
+SELECT * FROM t2;
+f2
+0
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP TABLE t1, t2;
+#
+# Bug#19723: kill of active connection yields different error code
+# depending on platform.
+#
+connection con1;
+SET DEBUG_SYNC= 'thread_end SIGNAL con1_end';
+KILL @id;
+ERROR 70100: Connection was killed
+connection con2;
+SET DEBUG_SYNC= 'now WAIT_FOR con1_end';
+connection con1;
+# ER_SERVER_SHUTDOWN, CR_SERVER_GONE_ERROR, CR_SERVER_LOST,
+# depending on the timing of close of the connection socket
+SELECT 1;
+Got one of the listed errors
+SELECT 1;
+1
+1
+SELECT @id != CONNECTION_ID();
+@id != CONNECTION_ID()
+1
+connection default;
+SET DEBUG_SYNC = 'RESET';
+DROP FUNCTION MY_KILL;
+set global sql_mode=default;
+disconnect con1;
+disconnect con2;