diff options
author | unknown <sanja@askmonty.org> | 2014-12-17 14:35:13 +0100 |
---|---|---|
committer | unknown <sanja@askmonty.org> | 2014-12-17 14:35:13 +0100 |
commit | ff5349bd6c4eb71b26a74290864c58f7b34690b2 (patch) | |
tree | 6de2dae2da711407ffc3c6af07e1bf58c31a64f6 /mysql-test/t/sp-innodb.test | |
parent | 357cb12d87aa9d6abcf345b7221cf58d01203cdf (diff) | |
download | mariadb-git-ff5349bd6c4eb71b26a74290864c58f7b34690b2.tar.gz |
MDEV-6985: MariaDB crashes on stored procedure call
Item_ident fixed to allow double cleanup().
Diffstat (limited to 'mysql-test/t/sp-innodb.test')
-rw-r--r-- | mysql-test/t/sp-innodb.test | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/mysql-test/t/sp-innodb.test b/mysql-test/t/sp-innodb.test new file mode 100644 index 00000000000..228ab42544d --- /dev/null +++ b/mysql-test/t/sp-innodb.test @@ -0,0 +1,45 @@ + +--source include/have_innodb.inc + +--disable_warnings +drop table if exists t1,t2; +drop procedure if exists p1; +--enable_warnings + +--echo # +--echo #MDEV-6985: MariaDB crashes on stored procedure call +--echo # +CREATE TABLE `t1` ( + `ID` int(11) NOT NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB; + +CREATE TABLE `t2` ( + `ID` int(11) NOT NULL, + `DATE` datetime DEFAULT NULL, + PRIMARY KEY (`ID`) +) ENGINE=InnoDB; + +--delimiter ;; + +CREATE PROCEDURE `p1`() +BEGIN + DECLARE _mySelect CURSOR FOR + SELECT DISTINCT t1.ID + FROM t1 + LEFT JOIN t2 AS t2 ON + t2.ID = t1.ID + AND t2.DATE = ( + SELECT MAX(T3.DATE) FROM t2 AS T3 WHERE T3.ID = t2.ID AND T3.DATE<=NOW() + ) + WHERE t1.ID = 1; + OPEN _mySelect; + CLOSE _mySelect; +END ;; +--delimiter ; + +CALL p1(); +CALL p1(); + +drop procedure p1; +drop table t1,t2; |