MySQL 8.0.39
Source Code Documentation
|
#include <cassert>
#include <memory>
#include <mysql/components/services/pfs_plugin_table_service.h>
#include <mysql/components/services/registry.h>
#include <mysql/service_plugin_registry.h>
#include "log0chkp.h"
#include "log0files_dict.h"
#include "log0files_io.h"
#include "log0log.h"
#include "log0pfs.h"
#include "log0sys.h"
#include "ut0mutex.h"
#include "sql/auto_thd.h"
#include "sql/pfs_priv_util.h"
#include "sql/sql_plugin.h"
#include "sql/table.h"
#include "sql/thd_raii.h"
#include "sql/dd/cache/dictionary_client.h"
Classes | |
class | Log_files_pfs_table |
PFS table with metadata of redo log files. More... | |
struct | Log_files_pfs_table::Row |
Used to store data of a single row in the table. More... | |
class | Log_files_pfs_table_share_proxy |
PFS table handle which is used to create multiple instances for concurrent queries. More... | |
Functions | |
template<typename T > | |
static bool | acquire_service (const mysql_service_registry_t *reg_srv, T *service, const char *name) |
template<typename T > | |
static void | release_service (const mysql_service_registry_t *reg_srv, T **service) |
void | pfs_sdi_enable () |
void | pfs_sdi_disable () |
static bool | log_pfs_should_create_tables () |
bool | log_pfs_create_tables () |
Create redo log PFS tables. More... | |
void | log_pfs_delete_tables () |
bool | log_pfs_acquire_services (const mysql_service_registry_t *reg_srv) |
Acquire services required for redo log PFS tables. More... | |
void | log_pfs_release_services (const mysql_service_registry_t *reg_srv) |
Release services that have been acquired for redo log PFS tables. More... | |
Variables | |
mysql_service_pfs_plugin_table_v1_t * | pfs_table {} |
mysql_service_pfs_plugin_column_tiny_v1_t * | pfs_col_tinyint {} |
mysql_service_pfs_plugin_column_integer_v1_t * | pfs_col_integer {} |
mysql_service_pfs_plugin_column_bigint_v1_t * | pfs_col_bigint {} |
mysql_service_pfs_plugin_column_string_v2_t * | pfs_col_string {} |
static bool | pfs_initialized {false} |
static bool | pfs_tables_created {false} |
static constexpr const char * | SVC_PFS_TABLE = "pfs_plugin_table_v1" |
static constexpr const char * | SVC_PFS_COLUMN_TINYINT |
static constexpr const char * | SVC_PFS_COLUMN_INTEGER |
static constexpr const char * | SVC_PFS_COLUMN_BIGINT |
static constexpr const char * | SVC_PFS_COLUMN_STRING |
static Log_files_pfs_table_share_proxy | pfs_table_share_proxy |
|
static |
bool log_pfs_acquire_services | ( | const mysql_service_registry_t * | reg_srv | ) |
Acquire services required for redo log PFS tables.
[in,out] | reg_srv | registry which allows to acquire services |
true | success |
false | error |
bool log_pfs_create_tables | ( | ) |
Create redo log PFS tables.
Note that log_pfs_acquire_services() had to be called prior to calling this function. If the log_pfs_acquire_services() failed, then a call to this function is still allowed, but it will report an error then.
true | success |
false | error |
void log_pfs_delete_tables | ( | ) |
void log_pfs_release_services | ( | const mysql_service_registry_t * | reg_srv | ) |
Release services that have been acquired for redo log PFS tables.
[in,out] | reg_srv | registry which was used to acquire the services |
|
static |
void pfs_sdi_disable | ( | ) |
void pfs_sdi_enable | ( | ) |
|
static |
mysql_service_pfs_plugin_column_bigint_v1_t* pfs_col_bigint {} |
mysql_service_pfs_plugin_column_integer_v1_t* pfs_col_integer {} |
mysql_service_pfs_plugin_column_string_v2_t* pfs_col_string {} |
mysql_service_pfs_plugin_column_tiny_v1_t* pfs_col_tinyint {} |
|
static |
mysql_service_pfs_plugin_table_v1_t* pfs_table {} |
|
static |
|
static |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |