Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
13.1
-
None
-
Not for Release Notes
-
Q3/2026 Server Maintenance
Description
MTR Test
CREATE TABLE t1(a INT); |
INSERT INTO t1 VALUES (1),(2),(3); |
|
|
DELIMITER $$
|
CREATE FUNCTION f_sel() RETURNS INT |
BEGIN
|
EXECUTE IMMEDIATE 'SELECT a FROM t1'; |
RETURN 0; |
END$$ |
CREATE PROCEDURE p() BEGIN DECLARE v INT DEFAULT f_sel(); END$$ |
DELIMITER ;
|
|
|
CALL p();
|
CLI Out
13.1.0-opt>CREATE OR REPLACE TABLE t1(a INT); |
Query OK, 0 rows affected (0.030 sec) |
|
|
13.1.0-opt>INSERT INTO t1 VALUES (1),(2),(3); |
Query OK, 3 rows affected (0.003 sec) |
Records: 3 Duplicates: 0 Warnings: 0
|
|
|
13.1.0-opt>
|
13.1.0-opt>DELIMITER $$
|
13.1.0-opt>CREATE OR REPLACE FUNCTION f_sel() RETURNS INT |
-> BEGIN |
-> EXECUTE IMMEDIATE 'SELECT a FROM t1'; |
-> RETURN 0; |
-> END$$ |
Query OK, 0 rows affected (0.005 sec) |
|
|
13.1.0-opt>DELIMITER ;
|
13.1.0-opt>
|
13.1.0-opt>SELECT f_sel(); |
ERROR 1336 (0A000): Dynamic SQL is not allowed in stored function or trigger |
13.1.0-opt>
|
13.1.0-opt>DELIMITER $$
|
13.1.0-opt>CREATE OR REPLACE PROCEDURE p() BEGIN DECLARE v INT DEFAULT f_sel(); END$$ |
Query OK, 0 rows affected (0.008 sec) |
|
|
13.1.0-opt>DELIMITER ;
|
13.1.0-opt>
|
13.1.0-opt>SELECT f_sel(); |
ERROR 1336 (0A000): Dynamic SQL is not allowed in stored function or trigger |
13.1.0-opt>CALL p();
|
+------+ |
| a |
|
+------+ |
| 1 |
|
| 2 |
|
| 3 |
|
+------+ |
3 rows in set (0.002 sec) |
|
|
Query OK, 0 rows affected (0.002 sec) |
|
|
13.1.0-opt>
|
Attachments
Issue Links
- is caused by
-
MDEV-39518 Allow prepared statements in stored functions in assignment right hand
-
- In Testing
-