mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-15941 Explicit cursor FOR loop does not close the cursor
This commit is contained in:
@ -607,3 +607,85 @@ END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-15941 Explicit cursor FOR loop does not close the cursor
|
||||
--echo #
|
||||
|
||||
DELIMITER $$;
|
||||
--error ER_SP_CURSOR_NOT_OPEN
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE v INT;
|
||||
DECLARE cur CURSOR FOR SELECT 1 AS a FROM DUAL;
|
||||
FOR rec IN cur
|
||||
DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
FETCH cur INTO v;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
||||
|
||||
DELIMITER $$;
|
||||
--error ER_SP_CURSOR_NOT_OPEN
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE v INT;
|
||||
DECLARE cur CURSOR FOR SELECT 1 AS a FROM DUAL;
|
||||
label:
|
||||
FOR rec IN cur
|
||||
DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
FETCH cur INTO v;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
||||
|
||||
DELIMITER $$;
|
||||
--error ER_SP_CURSOR_ALREADY_OPEN
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE cur CURSOR FOR SELECT 1 AS a FROM DUAL;
|
||||
OPEN cur;
|
||||
FOR rec IN cur DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
||||
|
||||
DELIMITER $$;
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE cur CURSOR FOR SELECT 1 AS a FROM DUAL;
|
||||
FOR rec IN cur
|
||||
DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
FOR rec IN cur
|
||||
DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
||||
|
||||
DELIMITER $$;
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE cur CURSOR FOR SELECT 1 AS a FROM DUAL;
|
||||
label1:
|
||||
FOR rec IN cur
|
||||
DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
label2:
|
||||
FOR rec IN cur
|
||||
DO
|
||||
SELECT rec.a;
|
||||
END FOR;
|
||||
END;
|
||||
$$
|
||||
DELIMITER ;$$
|
||||
|
Reference in New Issue
Block a user