Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
13.1
-
None
-
Not for Release Notes
-
Q3/2026 Server Maintenance
Description
MTR Test
CREATE OR REPLACE TABLE t1(a INT); |
DELIMITER $$;
|
CREATE OR REPLACE FUNCTION f_leaf() RETURNS INT |
BEGIN
|
EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (777)'; RETURN 1; |
END
|
$$
|
CREATE OR REPLACE FUNCTION f_mid() RETURNS INT |
BEGIN
|
DECLARE x INT; |
SET x = 100 + f_leaf(); RETURN x; |
END
|
$$
|
CREATE OR REPLACE PROCEDURE p() |
BEGIN
|
DECLARE r INT DEFAULT f_mid(); |
END
|
$$
|
DELIMITER ;$$
|
|
|
CALL p();
|
|
|
SELECT * FROM t1; |
CLI out
13.1.0-dbg>CREATE OR REPLACE TABLE t1(a INT); |
Query OK, 0 rows affected (0.028 sec) |
|
|
13.1.0-dbg>DELIMITER $$
|
13.1.0-dbg>CREATE OR REPLACE FUNCTION f_leaf() RETURNS INT |
-> BEGIN |
-> EXECUTE IMMEDIATE 'INSERT INTO t1 VALUES (777)'; RETURN 1; |
-> END |
-> $$
|
Query OK, 0 rows affected (0.004 sec) |
|
|
13.1.0-dbg>CREATE OR REPLACE FUNCTION f_mid() RETURNS INT |
-> BEGIN |
-> DECLARE x INT; |
-> SET x = 100 + f_leaf(); RETURN x; |
-> END |
-> $$
|
Query OK, 0 rows affected (0.008 sec) |
|
|
13.1.0-dbg>CREATE OR REPLACE PROCEDURE p() |
-> BEGIN |
-> DECLARE r INT DEFAULT f_mid(); |
-> END |
-> $$
|
Query OK, 0 rows affected (0.010 sec) |
|
|
13.1.0-dbg>DELIMITER ;
|
13.1.0-dbg>
|
13.1.0-dbg>
|
13.1.0-dbg>call p();
|
Query OK, 1 row affected (0.007 sec)
|
|
|
13.1.0-dbg>SELECT * FROM t1; |
+------+ |
| a |
|
+------+ |
| 777 |
|
+------+ |
1 row in set (0.001 sec) |
|
|
13.1.0-dbg>
|
Attachments
Issue Links
- is caused by
-
MDEV-39518 Allow prepared statements in stored functions in assignment right hand
-
- In Testing
-
- relates to
-
MDEV-40226 Assertion `inited == NONE || table->open_by_handler' failed in int handler::ha_external_lock(THD *, int)
-
- Open
-