--source include/have_debug.inc

SET @old_debug= @@session.debug;

--echo Bug#13820776 CRASH IN HANDLER::HA_STATISTIC_INCREMENT IF QUERY IS KILLED

CREATE TABLE g9(a INT) ENGINE=INNODB;

let $query=SELECT 1 FROM g9
RIGHT JOIN (SELECT 1 FROM g9) AS d1 ON 1 LEFT JOIN
(SELECT 1 FROM g9) AS d2 ON 1;

eval $query;

SET debug= '+d,bug13820776_1';
--error ER_QUERY_INTERRUPTED
eval $query;
SET debug= '-d,bug13820776_1';

SET debug= '+d,bug13820776_2';
--error ER_QUERY_INTERRUPTED
eval $query;
SET debug= '-d,bug13820776_2';

DROP TABLE g9;
SET debug= @old_debug;

--echo Bug#13822652 TESTCASES: PROTOCOL.CC:518: VOID PROTOCOL::END_STATEMENT(): ASSERTION `0' FAILED

CREATE TABLE g1(a INT PRIMARY KEY, b INT) ENGINE=INNODB;
INSERT INTO g1 VALUES (1,2),(2,3),(4,5);
CREATE TABLE g2(a INT PRIMARY KEY, b INT) ENGINE=INNODB;
INSERT INTO g2 VALUES (1,2),(2,3),(4,5);

let $query=UPDATE IGNORE g1,g2 SET g1.b=0 WHERE g1.a=g2.a;
eval $query;

SET debug= '+d,bug13820776_2';

--error ER_UNKNOWN_ERROR
eval $query;
SET debug= '-d,bug13820776_2';

SET debug= '+d,bug13822652_1';
--error ER_QUERY_INTERRUPTED
eval $query;
SET debug= '-d,bug13822652_1';

let $query=INSERT IGNORE INTO g1(a) SELECT b FROM g1 WHERE a<=0 LIMIT 5;
eval $query;

SET debug= '+d,bug13822652_2';
--error ER_QUERY_INTERRUPTED
eval $query;
SET debug= '-d,bug13822652_2';

DROP TABLE g1,g2;

SET debug= @old_debug;
