22#ifndef DYNAMIC_PRIVILEGE_TABLE_H
23#define DYNAMIC_PRIVILEGE_TABLE_H
27#include <unordered_set>
42 bool with_grant_option,
56 cstr_priv, grant_option,
69 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:78
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:33
Definition: dynamic_privilege_table.h:44
Operation
Definition: dynamic_privilege_table.h:46
@ REVOKE
Definition: dynamic_privilege_table.h:46
@ GRANT
Definition: dynamic_privilege_table.h:46
bool m_no_update
Definition: dynamic_privilege_table.h:63
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:50
TABLE * m_table
Definition: dynamic_privilege_table.h:62
THD * m_thd
Definition: dynamic_privilege_table.h:61
Update_dynamic_privilege_table()
Definition: dynamic_privilege_table.h:47
Update_dynamic_privilege_table(THD *thd, TABLE *table)
Definition: dynamic_privilege_table.h:48
void register_dynamic_privilege_impl(const std::string &priv)
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:71
std::unordered_set< std::string > Dynamic_privilege_register
Definition: dynamic_privilege_table.h:34
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:88
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:195
bool iterate_all_dynamic_privileges(THD *thd, std::function< bool(const char *)> action)
Definition: dynamic_privilege_table.cc:241
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
repeated Action action
Definition: replication_group_member_actions.proto:42
@ REVOKE
Definition: sql_yacc.h:528
Definition: mysql_lex_string.h:39
size_t length
Definition: mysql_lex_string.h:41