43 lines
1.0 KiB
Plaintext
43 lines
1.0 KiB
Plaintext
#
|
|
--source include/have_debug.inc
|
|
|
|
|
|
--echo #
|
|
--echo # Bug#26040870 - ASSERT ON KILL'ING A STORED ROUTINE INVOCATION.
|
|
--echo #
|
|
|
|
CREATE TABLE t1 (a INT);
|
|
DELIMITER |;
|
|
CREATE FUNCTION f1() RETURNS INT
|
|
BEGIN
|
|
INSERT INTO t1 VALUES (1);
|
|
RETURN 1;
|
|
END|
|
|
DELIMITER ;|
|
|
|
|
--connect(con1,localhost,root)
|
|
--let $sp_con_id= `SELECT CONNECTION_ID()`
|
|
SET DEBUG_SYNC= "sp_lex_instr_before_exec_core SIGNAL sp_ready WAIT_FOR sp_finish";
|
|
send SELECT f1();
|
|
|
|
--connection default
|
|
SET DEBUG_SYNC="now WAIT_FOR sp_ready";
|
|
--replace_result $sp_con_id sp_con_id
|
|
--eval KILL QUERY $sp_con_id
|
|
SET DEBUG_SYNC="now SIGNAL sp_finish";
|
|
|
|
--connection con1
|
|
--echo # Diagnostics area is not set if routine statement execution is
|
|
--echo # interrupted by the KILL operation. Accessing diagnostics area in such
|
|
--echo # case results in the issue reported.
|
|
--echo # Patch for the bug25586773, checks if diagnostics area is set before
|
|
--echo # accessing it.
|
|
--error ER_QUERY_INTERRUPTED
|
|
reap;
|
|
|
|
--connection default
|
|
SET DEBUG_SYNC='RESET';
|
|
DROP TABLE t1;
|
|
DROP FUNCTION f1;
|
|
disconnect con1;
|