[MDEV-30662] SQL/PL package body does not appear in I_S.ROUTINES.ROUTINE_DEFINITION Created: 2023-02-16 Updated: 2023-09-16 Resolved: 2023-07-14 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Configuration, Information Schema |
| Affects Version/s: | 10.6.8, 10.5, 10.7, 10.8, 10.9, 10.10, 10.11, 11.0, 11.1, 11.2 |
| Fix Version/s: | 10.8.8, 10.5.22, 10.6.15, 10.9.8, 10.11.5, 11.0.3, 11.1.2, 11.2.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Anders Karlsson | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Linux CentOs 7 |
||
| Issue Links: |
|
||||||||
| Description |
|
For stored procedures and packages, the text of the object is available in the I_S.ROUTINES table in the routine_definition column. For Oracle SQL/PL packages these are regustered, as expected, in the I_S.ROUTINES table but the ROUTINE_DEFINITION column is empty. The mysql.proc table does keep this in the body column as expected though. The above is true both for PACKAGE and PACKAGE BODY. |
| Comments |
| Comment by Alexander Barkov [ 2023-02-27 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
Repeatable with this script:
Notice, the column routine_definition is empty. mysql.proc query works fineAn equivalent query to mysql.proc returns definitions without problems:
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Alexander Barkov [ 2023-07-13 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||
|
The problem happens because mysql.proc.body_utf8 is empty for PACKAGE and PACKAGE BODY records for some reasons:
|