MySQL 8.0.39
Source Code Documentation
|
Base class for a system or status variable cache. More...
#include <pfs_variable.h>
Public Types | |
typedef Prealloced_array< Var_type, SYSTEM_VARIABLE_PREALLOC > | Variable_array |
Public Member Functions | |
PFS_variable_cache (bool external_init) | |
virtual | ~PFS_variable_cache ()=0 |
Destructor. More... | |
bool | initialize_session () |
Build array of SHOW_VARs from the external variable source. More... | |
bool | initialize_client_session () |
Build array of SHOW_VARs suitable for aggregation by user, host or account. More... | |
int | materialize_global () |
Build cache of GLOBAL system or status variables. More... | |
int | materialize_all (THD *thd) |
Build cache of GLOBAL and SESSION variables for a non-instrumented thread. More... | |
int | materialize_session (THD *thd) |
Build cache of SESSION variables for a non-instrumented thread. More... | |
int | materialize_session (PFS_thread *pfs_thread, bool use_mem_root=false) |
Build cache of SESSION variables for an instrumented thread. More... | |
int | materialize_session (PFS_thread *pfs_thread, uint index) |
Cache a single SESSION variable for an instrumented thread. More... | |
int | materialize_user (PFS_user *pfs_user) |
Build cache of SESSION status variables for a user. More... | |
int | materialize_host (PFS_host *pfs_host) |
Build cache of SESSION status variables for a host. More... | |
int | materialize_account (PFS_account *pfs_account) |
Build cache of SESSION status variables for an account. More... | |
bool | is_materialized () |
True if variables have been materialized. More... | |
bool | is_materialized (THD *unsafe_thd) |
True if variables have been materialized for given THD. More... | |
bool | is_materialized (PFS_thread *pfs_thread) |
True if variables have been materialized for given PFS_thread. More... | |
bool | is_materialized (PFS_user *pfs_user) |
True if variables have been materialized for given PFS_user. More... | |
bool | is_materialized (PFS_host *pfs_host) |
True if variables have been materialized for given PFS_host. More... | |
bool | is_materialized (PFS_account *pfs_account) |
True if variables have been materialized for given PFS_account. More... | |
bool | is_materialized (PFS_client *pfs_client) |
True if variables have been materialized for given PFS_user/host/account. More... | |
THD_ptr | get_THD (THD *thd) |
Get a validated THD from the thread manager. More... | |
THD_ptr | get_THD (PFS_thread *pfs_thread) |
const Var_type * | get (uint index=0) const |
Get a single variable from the cache. More... | |
uint | size () |
Number of elements in the cache. More... | |
Private Member Functions | |
virtual bool | do_initialize_global () |
virtual bool | do_initialize_session () |
virtual int | do_materialize_global () |
virtual int | do_materialize_all (THD *) |
virtual int | do_materialize_session (THD *) |
virtual int | do_materialize_session (PFS_thread *) |
virtual int | do_materialize_session (PFS_thread *, uint) |
Base class for a system or status variable cache.
typedef Prealloced_array<Var_type, SYSTEM_VARIABLE_PREALLOC> PFS_variable_cache< Var_type >::Variable_array |
|
explicit |
|
pure virtualdefault |
Destructor.
|
inlineprivatevirtual |
|
inlineprivatevirtual |
Reimplemented in PFS_system_variable_cache, and PFS_status_variable_cache.
|
inlineprivatevirtual |
|
inlineprivatevirtual |
Reimplemented in PFS_system_variable_cache, and PFS_status_variable_cache.
|
inlineprivatevirtual |
Reimplemented in PFS_system_variable_cache, and PFS_status_variable_cache.
|
inlineprivatevirtual |
Reimplemented in PFS_status_variable_cache, and PFS_system_variable_cache.
|
inlineprivatevirtual |
Reimplemented in PFS_system_variable_cache, and PFS_status_variable_cache.
|
inline |
Get a single variable from the cache.
Get the first element in the cache by default.
THD_ptr PFS_variable_cache< Var_type >::get_THD | ( | PFS_thread * | pfs_thread | ) |
THD_ptr PFS_variable_cache< Var_type >::get_THD | ( | THD * | unsafe_thd | ) |
Get a validated THD from the thread manager.
Execute callback function while inside of the thread manager locks.
Execute callback function while while inside the thread manager lock.
bool PFS_variable_cache< Var_type >::initialize_client_session |
Build array of SHOW_VARs suitable for aggregation by user, host or account.
Filter using session scope.
bool PFS_variable_cache< Var_type >::initialize_session |
Build array of SHOW_VARs from the external variable source.
Build array of SHOW_VARs from external source of system or status variables.
Filter using session scope.
|
inline |
True if variables have been materialized.
|
inline |
True if variables have been materialized for given PFS_account.
|
inline |
True if variables have been materialized for given PFS_user/host/account.
|
inline |
True if variables have been materialized for given PFS_host.
|
inline |
True if variables have been materialized for given PFS_thread.
|
inline |
True if variables have been materialized for given PFS_user.
|
inline |
True if variables have been materialized for given THD.
int PFS_variable_cache< Var_type >::materialize_account | ( | PFS_account * | pfs_account | ) |
Build cache of SESSION status variables for an account.
int PFS_variable_cache< Var_type >::materialize_all | ( | THD * | thd | ) |
Build cache of GLOBAL and SESSION variables for a non-instrumented thread.
int PFS_variable_cache< Var_type >::materialize_global |
Build cache of GLOBAL system or status variables.
Build cache of all GLOBAL variables.
Aggregate across threads if applicable.
int PFS_variable_cache< Var_type >::materialize_host | ( | PFS_host * | pfs_host | ) |
Build cache of SESSION status variables for a host.
int PFS_variable_cache< Var_type >::materialize_session | ( | PFS_thread * | pfs_thread, |
bool | use_mem_root = false |
||
) |
Build cache of SESSION variables for an instrumented thread.
Build cache of SESSION variables for a thread.
int PFS_variable_cache< Var_type >::materialize_session | ( | PFS_thread * | pfs_thread, |
uint | index | ||
) |
Cache a single SESSION variable for an instrumented thread.
Materialize a single variable for a thread.
int PFS_variable_cache< Var_type >::materialize_session | ( | THD * | thd | ) |
Build cache of SESSION variables for a non-instrumented thread.
int PFS_variable_cache< Var_type >::materialize_user | ( | PFS_user * | pfs_user | ) |
Build cache of SESSION status variables for a user.
|
inline |
Number of elements in the cache.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |