PL/SQL parser
(MDEV-10142)
|
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Stored routines |
| Affects Version/s: | 10.3 |
| Fix Version/s: | 10.3.1 |
| Type: | Technical task | Priority: | Major |
| Reporter: | Alexander Barkov | Assignee: | Alexander Barkov |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | refactoring | ||
| Issue Links: |
|
||||||||
| Sprint: | 10.2.2-3, 10.2.2-1, 10.2.2-2, 10.2.2-4, 10.1.18 | ||||||||
| Description |
|
The code in sp_create_routine() uses two ways to access the routine name:
This is a fragment from sp_create_routine():
The function mysql_create_routine() uses the same style:
In the above code, both LEX::sp_name and sp_sphead point to copies of the same qualified routine name. Copying is done in sql_yacc.yy:
We're going to reuse sp_head to store Oracle-style packages soon (see Under terms of this task we will:
2. Remove copying of the routine name to LEX::spname. The latter should stay NULL during CREATE PROCEDURE and CREATE FUNCTION. |
| Comments |
| Comment by Alexander Barkov [ 2017-07-12 ] |
|
Pushed to bb-10.2-ext |