mirror of
https://github.com/MariaDB/server.git
synced 2026-04-19 14:55:32 +02:00
MDEV-21689 Add Sql_cmd for GRANT/REVOKE statements
Rewriting GRANT/REVOKE grammar to use more bison stack and use Sql_cmd_ style 1. Removing a few members from LEX: - uint grant, grant_to_col, which_columns - List<LEX_COLUMN> columns - bool all_privileges 2. Adding classes Grand_object_name, Lex_grant_object_name 3. Adding classes Grand_privilege, Lex_grand_privilege 4. Adding struct Lex_column_list_privilege_st, class Lex_column_list_privilege 5. Rewriting the GRANT/REVOKE grammar to use new classes and pass them through bison stack (rather than directly access LEX members) 6. Adding classes Sql_cmd_grant* and Sql_cmd_revoke*, changing GRANT/REVOKE to use LEX::m_sql_cmd. 7. Adding the "sp_handler" grammar rule and removing some duplicate grammar for GRANT/REVOKE for different kinds of SP objects. 8. Adding a new rule comma_separated_ident_list, reusing it in: - with_column_list - colum_list_privilege
This commit is contained in:
parent
06b0623adb
commit
77c6382312
13 changed files with 813 additions and 317 deletions
|
|
@ -111,7 +111,7 @@ public:
|
|||
inherited from the query that specified the table. Otherwise the list is
|
||||
always empty.
|
||||
*/
|
||||
List <LEX_CSTRING> column_list;
|
||||
List <Lex_ident_sys> column_list;
|
||||
/* The query that specifies the table introduced by this with element */
|
||||
st_select_lex_unit *spec;
|
||||
/*
|
||||
|
|
@ -163,7 +163,7 @@ public:
|
|||
SQL_I_List<TABLE_LIST> derived_with_rec_ref;
|
||||
|
||||
With_element(LEX_CSTRING *name,
|
||||
List <LEX_CSTRING> list,
|
||||
List <Lex_ident_sys> list,
|
||||
st_select_lex_unit *unit)
|
||||
: next(NULL), base_dep_map(0), derived_dep_map(0),
|
||||
sq_dep_map(0), work_dep_map(0), mutually_recursive(0),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue