Details
-
Bug
-
Status: Closed (View Workflow)
-
Critical
-
Resolution: Fixed
-
13.1
-
None
-
Not for Release Notes
-
Q3/2026 Server Maintenance
Description
SET sql_mode=ORACLE; |
CREATE TABLE t1 (a INT); |
INSERT INTO t1 VALUES (1); |
DELIMITER $$
|
CREATE PACKAGE pkg1 AS FUNCTION f RETURN INT; END;$$ |
CREATE PACKAGE BODY pkg1 AS |
FUNCTION f RETURN INT AS BEGIN RETURN 42; END; |
BEGIN
|
EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM t1 INTO @px_cnt'; |
END;$$ |
CREATE PROCEDURE p1() AS v INT; BEGIN v := pkg1.f(); END;$$ |
DELIMITER ;
|
CALL p1(); -- ERROR 1146: Table 'test.t1' doesn't exist (t1 exists) |
CLI Output
13.1.0-opt>SET sql_mode=ORACLE; |
Query OK, 0 rows affected (0.000 sec) |
|
|
13.1.0-opt>CREATE TABLE t1 (a INT); |
Query OK, 0 rows affected (0.013 sec) |
|
|
13.1.0-opt>INSERT INTO t1 VALUES (1); |
Query OK, 1 row affected (0.002 sec)
|
|
|
13.1.0-opt>DELIMITER $$
|
13.1.0-opt>CREATE PACKAGE pkg1 AS FUNCTION f RETURN INT; END;$$ |
Query OK, 0 rows affected (0.003 sec) |
|
|
13.1.0-opt>CREATE PACKAGE BODY pkg1 AS |
-> FUNCTION f RETURN INT AS BEGIN RETURN 42; END; |
-> BEGIN |
-> EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM t1 INTO @px_cnt'; |
-> END;$$ |
Query OK, 0 rows affected (0.005 sec) |
|
|
13.1.0-opt>CREATE PROCEDURE p1() AS v INT; BEGIN v := pkg1.f(); END;$$ |
Query OK, 0 rows affected (0.005 sec) |
|
|
13.1.0-opt>DELIMITER ;
|
13.1.0-opt>CALL p1();
|
ERROR 1146 (42S02): Table 'test.t1' doesn't exist |
13.1.0-opt>SELECT * FROM t1; |
+------+ |
| a |
|
+------+ |
| 1 |
|
+------+ |
1 row in set (0.001 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
-