SET DEBUG_SYNC = 'RESET'; DROP TABLE IF EXISTS t1, t2, t3; DROP FUNCTION IF EXISTS MY_KILL; 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| SET DEBUG_SYNC= 'thread_end SIGNAL con1_end'; SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read'; SET DEBUG_SYNC='now WAIT_FOR con1_read'; SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; SET DEBUG_SYNC = 'RESET'; SELECT 1; Got one of the listed errors SELECT 1; 1 1 SELECT @id != CONNECTION_ID(); @id != CONNECTION_ID() 1 SELECT 4; 4 4 KILL (SELECT COUNT(*) FROM mysql.user); ERROR 42000: This version of MySQL doesn't yet support 'Usage of subqueries or stored function calls as part of this statement' SET DEBUG_SYNC= 'thread_end SIGNAL con1_end'; SET DEBUG_SYNC= 'before_do_command_net_read SIGNAL con1_read WAIT_FOR kill'; SET DEBUG_SYNC= 'now WAIT_FOR con1_read'; SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; SET DEBUG_SYNC = 'RESET'; SELECT 1; Got one of the listed errors SELECT 1; 1 1 SELECT @id != CONNECTION_ID(); @id != CONNECTION_ID() 1 SELECT 4; 4 4 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; 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 /*+ NO_HASH_JOIN(a,b,c,d) */ 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); SET DEBUG_SYNC= 'now WAIT_FOR in_sync'; KILL @id; SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; Got one of the listed errors SELECT 1; 1 1 SET DEBUG_SYNC = 'RESET'; DROP TABLE t1, t2; SET DEBUG_SYNC= 'before_acos_function SIGNAL in_sync WAIT_FOR kill'; SELECT ACOS(0); SET DEBUG_SYNC= 'now WAIT_FOR in_sync'; KILL QUERY @id; ACOS(0) 1.5707963267948966 SELECT 1; 1 1 SELECT @id = CONNECTION_ID(); @id = CONNECTION_ID() 1 SET DEBUG_SYNC = 'RESET'; SET DEBUG_SYNC= 'before_join_optimize SIGNAL in_sync WAIT_FOR continue'; PREPARE stmt FROM 'EXPLAIN SELECT * FROM t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18,t19,t20,t21,t22,t23,t24,t25,t26,t27,t28,t29,t30,t31,t32,t33,t34,t35,t36,t37,t38,t39,t40 WHERE a1=a2 AND a2=a3 AND a3=a4 AND a4=a5 AND a5=a6 AND a6=a7 AND a7=a8 AND a8=a9 AND a9=a10 AND a10=a11 AND a11=a12 AND a12=a13 AND a13=a14 AND a14=a15 AND a15=a16 AND a16=a17 AND a17=a18 AND a18=a19 AND a19=a20 AND a20=a21 AND a21=a22 AND a22=a23 AND a23=a24 AND a24=a25 AND a25=a26 AND a26=a27 AND a27=a28 AND a28=a29 AND a29=a30 AND a30=a31 AND a31=a32 AND a32=a33 AND a33=a34 AND a34=a35 AND a35=a36 AND a36=a37 AND a37=a38 AND a38=a39 AND a39=a40 '; EXECUTE stmt; SET DEBUG_SYNC= 'now WAIT_FOR in_sync'; KILL QUERY @id; SET DEBUG_SYNC= 'now SIGNAL continue'; ERROR 70100: Query execution was interrupted SET DEBUG_SYNC = 'RESET'; # # 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: Query execution was interrupted SET DEBUG_SYNC= 'now WAIT_FOR con1_end'; # 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 SET DEBUG_SYNC = 'RESET'; SET DEBUG_SYNC = 'RESET'; DROP FUNCTION MY_KILL; # # Bug#12661349 assert in protocol::end_statement # # Note: This test case should be run with --ps-protocol CREATE TABLE t1 (col1 INT); connect con1, localhost, root; SET DEBUG_SYNC= 'before_execute_sql_command SIGNAL waiting WAIT_FOR killed'; SELECT * FROM t1; connection default; SET DEBUG_SYNC= 'now WAIT_FOR waiting'; KILL QUERY ; SET DEBUG_SYNC= 'now SIGNAL killed'; connection con1; ERROR 70100: Query execution was interrupted disconnect con1; connection default; DROP TABLE t1; SET DEBUG_SYNC= 'RESET';