diff options
| author | Sergei Golubchik <serg@mariadb.org> | 2022-09-28 14:43:30 +0200 |
|---|---|---|
| committer | Sergei Golubchik <serg@mariadb.org> | 2022-09-29 00:11:02 +0200 |
| commit | 74ac683a7e822f3287e75527d7d3a7ff1256c46c (patch) | |
| tree | c89835dc52ffb720898ead61ce3818f7bf9b2b27 /mysql-test/main/kill_debug.result | |
| parent | d7d3ad698abde16978e094b825e17a6ecd8604e8 (diff) | |
| download | mariadb-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.result | 223 |
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; |
