23#ifndef DYNAMIC_PRIVILEGE_TABLE_H
24#define DYNAMIC_PRIVILEGE_TABLE_H
28#include <unordered_set>
43 bool with_grant_option,
57 cstr_priv, grant_option,
70 THD *thd, std::function<
bool(
const char *)>
action);
75 THD *thd, std::function<
bool(
const char *)>
action);
std::pair< LEX_CSTRING, LEX_CSTRING > Auth_id_ref
user, host tuple which reference either acl_cache or g_default_roles
Definition: auth_common.h:80
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
Definition: dynamic_privilege_table.h:45
Operation
Definition: dynamic_privilege_table.h:47
@ REVOKE
Definition: dynamic_privilege_table.h:47
@ GRANT
Definition: dynamic_privilege_table.h:47
bool m_no_update
Definition: dynamic_privilege_table.h:64
bool operator()(const std::string &priv, const Auth_id_ref &auth_id, bool grant_option, Update_dynamic_privilege_table::Operation op)
Definition: dynamic_privilege_table.h:51
TABLE * m_table
Definition: dynamic_privilege_table.h:63
THD * m_thd
Definition: dynamic_privilege_table.h:62
Update_dynamic_privilege_table()
Definition: dynamic_privilege_table.h:48
Update_dynamic_privilege_table(THD *thd, TABLE *table)
Definition: dynamic_privilege_table.h:49
Dynamic_privilege_register * get_dynamic_privilege_register(void)
This function returns a pointer to a global variable allocated on the heap.
Definition: dynamic_privilege_table.cc:74
bool iterate_all_dynamic_non_deprecated_privileges(THD *thd, std::function< bool(const char *)> action)
Definition: dynamic_privilege_table.cc:279
std::unordered_set< std::string > Dynamic_privilege_register
Definition: dynamic_privilege_table.h:35
bool is_dynamic_privilege_defined(const std::string &str)
Definition: dynamic_privilege_table.cc:78
bool populate_dynamic_privilege_caches(THD *thd, Table_ref *tablelst)
Given an open table handler this function refresh the list of dynamic privilege grants by reading the...
Definition: dynamic_privilege_table.cc:110
bool modify_dynamic_privileges_in_table(THD *thd, TABLE *table, const Auth_id_ref &auth_id, const LEX_CSTRING &privilege, bool with_grant_option, bool delete_option)
Delete or insert a row in the mysql.dynamic_privilege table.
Definition: dynamic_privilege_table.cc:218
bool iterate_all_dynamic_privileges(THD *thd, std::function< bool(const char *)> action)
Definition: dynamic_privilege_table.cc:264
Dynamic_privilege_register * get_dynamic_privilege_deprecations(void)
This function returns a pointer to a global variable allocated on the heap.
Definition: dynamic_privilege_table.cc:88
bool is_dynamic_privilege_deprecated(const std::string &str)
Definition: dynamic_privilege_table.cc:92
std::string str(const mysqlrouter::ConfigGenerator::Options::Endpoint &ep)
Definition: config_generator.cc:1081
static PFS_engine_table_share_proxy table
Definition: pfs.cc:61
repeated Action action
Definition: replication_group_member_actions.proto:43
@ REVOKE
Definition: sql_yacc.h:528
Definition: mysql_lex_string.h:40
size_t length
Definition: mysql_lex_string.h:42