mirror of
https://github.com/MariaDB/server.git
synced 2026-05-15 19:37:16 +02:00
MDEV-15941 Explicit cursor FOR loop does not close the cursor
This commit is contained in:
parent
b534a7b89e
commit
9c53cbdd88
11 changed files with 427 additions and 64 deletions
|
|
@ -611,3 +611,76 @@ a b
|
|||
a b
|
||||
2 b2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-15941 Explicit cursor FOR loop does not close the cursor
|
||||
#
|
||||
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;
|
||||
$$
|
||||
rec.a
|
||||
1
|
||||
ERROR 24000: Cursor is 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;
|
||||
$$
|
||||
rec.a
|
||||
1
|
||||
ERROR 24000: Cursor is not 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;
|
||||
$$
|
||||
ERROR 24000: Cursor is already open
|
||||
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;
|
||||
$$
|
||||
rec.a
|
||||
1
|
||||
rec.a
|
||||
1
|
||||
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;
|
||||
$$
|
||||
rec.a
|
||||
1
|
||||
rec.a
|
||||
1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue