![]() |
MySQL 8.0.43
Source Code Documentation
|
#include "sql/resourcegroups/resource_group_sql_cmd.h"#include <stdint.h>#include <string.h>#include <memory>#include <new>#include <string>#include <utility>#include <vector>#include "m_ctype.h"#include "m_string.h"#include "my_compiler.h"#include "my_dbug.h"#include "my_psi_config.h"#include "my_sys.h"#include "mysql/components/services/bits/psi_thread_bits.h"#include "mysql/components/services/log_shared.h"#include "mysql/psi/mysql_mutex.h"#include "mysql_com.h"#include "mysqld_error.h"#include "pfs_thread_provider.h"#include "sql/auth/auth_acls.h"#include "sql/auth/auth_common.h"#include "sql/auth/sql_security_ctx.h"#include "sql/current_thd.h"#include "sql/dd/cache/dictionary_client.h"#include "sql/dd/dd_resource_group.h"#include "sql/dd/string_type.h"#include "sql/derror.h"#include "sql/lock.h"#include "sql/mdl.h"#include "sql/mysqld_thd_manager.h"#include "sql/parse_tree_helpers.h"#include "sql/resourcegroups/resource_group.h"#include "sql/resourcegroups/resource_group_mgr.h"#include "sql/resourcegroups/thread_resource_control.h"#include "sql/sql_backup_lock.h"#include "sql/sql_class.h"#include "sql/sql_error.h"#include "sql/sql_lex.h"#include "sql/system_variables.h"#include "sql/thd_raii.h"Classes | |
| class | anonymous_namespace{resource_group_sql_cmd.cc}::Move_thread_to_default_group |
| This class represents a functional call to move a thread specified by pfs_thread_id to a resource group specified in class' constructor. More... | |
Namespaces | |
| namespace | dd |
| The version of the current data dictionary table definitions. | |
| namespace | anonymous_namespace{resource_group_sql_cmd.cc} |
Functions | |
| static bool | anonymous_namespace{resource_group_sql_cmd.cc}::acquire_exclusive_mdl_for_resource_group (THD *thd, const char *res_grp_name) |
| Acquire an exclusive MDL lock on resource group name. More... | |
| bool | anonymous_namespace{resource_group_sql_cmd.cc}::validate_vcpu_range_vector (std::vector< resourcegroups::Range > *vcpu_range_vector, const Mem_root_array< resourcegroups::Range > *cpu_list, uint32_t num_vcpus) |
| Validate CPU id ranges provided by a user in the statements CREATE RESOURCE GROUP, ALTER RESOURCE GROUP. More... | |
| bool | anonymous_namespace{resource_group_sql_cmd.cc}::is_default_resource_group (const char *res_grp_name) |
| Check if given resource group name is a default resource group. More... | |
| static resourcegroups::Resource_group * | check_and_load_resource_group (THD *thd, const LEX_CSTRING &resource_group_name) |
| Check if a resource group specified by a name is present in memory. More... | |
| static bool | check_and_apply_resource_grp (THD *thd, ulonglong thread_id, resourcegroups::Resource_group *resource_group, bool error) |
| Check if resource group controls can be applied to thread identified by PFS thread id. More... | |
| static bool | check_resource_group_set_privilege (Security_context *sctx) |
| Check if user has sufficient privilege to exercise SET RESOURCE GROUP. More... | |
|
inlinestatic |
Check if resource group controls can be applied to thread identified by PFS thread id.
Apply the controls to thread if the checks were successful.
| thd | THD context |
| thread_id | Thread id of the thread. |
| resource_group | Pointer to resource group. |
| error | Log error so that error is returned to client. |
|
inlinestatic |
Check if a resource group specified by a name is present in memory.
Load a resource group from the Data Dictionary if it missed in memory.
| thd | THD context. |
| resource_group_name | Resource group name. |
|
static |
Check if user has sufficient privilege to exercise SET RESOURCE GROUP.
| sctx | Pointer to security context. |