diff options
author | Alexander Barkov <bar@mariadb.com> | 2020-02-05 12:43:17 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2020-02-08 21:35:35 +0400 |
commit | 77c6382312535991d26c85e7eb5492f9b3a59e92 (patch) | |
tree | efcbf3c238aa8b67165031b5c7d9266c0082e7b4 /sql/sql_cte.h | |
parent | 06b0623adb71f2b7918f69ab68660ec45736ebb5 (diff) | |
download | mariadb-git-77c6382312535991d26c85e7eb5492f9b3a59e92.tar.gz |
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
Diffstat (limited to 'sql/sql_cte.h')
-rw-r--r-- | sql/sql_cte.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sql/sql_cte.h b/sql/sql_cte.h index 80d56644d7e..92aca5090f3 100644 --- a/sql/sql_cte.h +++ b/sql/sql_cte.h @@ -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), |