PL/SQL parser
(MDEV-10142)
|
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Parser, Stored routines |
| Affects Version/s: | None |
| Fix Version/s: | 10.3.0 |
| Type: | Technical task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | Compatibility | ||
| Sprint: | 10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18 |
| Description |
|
When running with sql_mode=ORACLE, MariaDB (the bb-10.2-compatibility branch) does not understand the optional function or procedure name after the END keyword which ends the entire routine definition. We'll extend the parser to understand the optional name, so this script is parsed without syntax errors:
In case of stand-alone routines we'll also allow qualified names: END test.p1; Originally this task included changes for package routines, but it does not any more:Optional routine names are also possible inside a package body definition:
In case of package routines the name specified in END cannot be qualified. If the name specified in CREATE does not match the name specified in END, an error will be reported. Under terms of this patch we'll only fix traditional (stand-alone) stored functions and procedures. |
| Comments |
| Comment by Alexander Barkov [ 2017-02-20 ] |
|
Pushed to bb-10.2-compatibility |