[to #55030076]New system variables(debug, innodb*debug and stored_program_cache) need to occupy space on the master.

This commit is contained in:
swjtu-wenxiang 2024-02-19 13:42:11 +00:00 committed by ob-robot
parent 9b776d0f06
commit b6cdfaef1c
6 changed files with 696 additions and 3 deletions

View File

@ -269,6 +269,17 @@ enum ObSysVarClassType
SYS_VAR_ACTIVATE_ALL_ROLES_ON_LOGIN = 10161,
SYS_VAR__ENABLE_RICH_VECTOR_FORMAT = 10162,
SYS_VAR_INNODB_STATS_PERSISTENT = 10163,
SYS_VAR_DEBUG = 10164,
SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG = 10165,
SYS_VAR_INNODB_COMPRESS_DEBUG = 10166,
SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG = 10167,
SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG = 10168,
SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG = 10169,
SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG = 10170,
SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG = 10171,
SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG = 10172,
SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG = 10173,
SYS_VAR_STORED_PROGRAM_CACHE = 10174,
};
}

View File

@ -264,6 +264,17 @@ namespace share
static const char* const OB_SV_ACTIVATE_ALL_ROLES_ON_LOGIN = "activate_all_roles_on_login";
static const char* const OB_SV__ENABLE_RICH_VECTOR_FORMAT = "_enable_rich_vector_format";
static const char* const OB_SV_INNODB_STATS_PERSISTENT = "innodb_stats_persistent";
static const char* const OB_SV_DEBUG = "debug";
static const char* const OB_SV_INNODB_CHANGE_BUFFERING_DEBUG = "innodb_change_buffering_debug";
static const char* const OB_SV_INNODB_COMPRESS_DEBUG = "innodb_compress_debug";
static const char* const OB_SV_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG = "innodb_disable_resize_buffer_pool_debug";
static const char* const OB_SV_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG = "innodb_fil_make_page_dirty_debug";
static const char* const OB_SV_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG = "innodb_limit_optimistic_insert_debug";
static const char* const OB_SV_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG = "innodb_merge_threshold_set_all_debug";
static const char* const OB_SV_INNODB_SAVED_PAGE_NUMBER_DEBUG = "innodb_saved_page_number_debug";
static const char* const OB_SV_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG = "innodb_trx_purge_view_update_only_debug";
static const char* const OB_SV_INNODB_TRX_RSEG_N_SLOTS_DEBUG = "innodb_trx_rseg_n_slots_debug";
static const char* const OB_SV_STORED_PROGRAM_CACHE = "stored_program_cache";
}
}

View File

@ -131,6 +131,13 @@ const char *ObSysVarInnodbStatsPersistent::INNODB_STATS_PERSISTENT_NAMES[] = {
"ON",
0
};
const char *ObSysVarInnodbCompressDebug::INNODB_COMPRESS_DEBUG_NAMES[] = {
"NONE",
"ZLIB",
"LZ4",
"LZ4HC",
0
};
const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"_aggregation_optimization_settings",
@ -195,6 +202,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"cte_max_recursion_depth",
"cursor_sharing",
"datadir",
"debug",
"debug_sync",
"default_authentication_plugin",
"default_password_lifetime",
@ -214,8 +222,17 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"hostname",
"identity",
"init_connect",
"innodb_change_buffering_debug",
"innodb_compress_debug",
"innodb_disable_resize_buffer_pool_debug",
"innodb_fil_make_page_dirty_debug",
"innodb_limit_optimistic_insert_debug",
"innodb_merge_threshold_set_all_debug",
"innodb_saved_page_number_debug",
"innodb_stats_persistent",
"innodb_strict_mode",
"innodb_trx_purge_view_update_only_debug",
"innodb_trx_rseg_n_slots_debug",
"interactive_timeout",
"is_result_accurate",
"last_insert_id",
@ -356,6 +373,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"ssl_crl",
"ssl_crlpath",
"ssl_key",
"stored_program_cache",
"system_time_zone",
"time_format",
"time_zone",
@ -446,6 +464,7 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
SYS_VAR_CTE_MAX_RECURSION_DEPTH,
SYS_VAR_CURSOR_SHARING,
SYS_VAR_DATADIR,
SYS_VAR_DEBUG,
SYS_VAR_DEBUG_SYNC,
SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN,
SYS_VAR_DEFAULT_PASSWORD_LIFETIME,
@ -465,8 +484,17 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
SYS_VAR_HOSTNAME,
SYS_VAR_IDENTITY,
SYS_VAR_INIT_CONNECT,
SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG,
SYS_VAR_INNODB_COMPRESS_DEBUG,
SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG,
SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG,
SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG,
SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG,
SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG,
SYS_VAR_INNODB_STATS_PERSISTENT,
SYS_VAR_INNODB_STRICT_MODE,
SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG,
SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG,
SYS_VAR_INTERACTIVE_TIMEOUT,
SYS_VAR_IS_RESULT_ACCURATE,
SYS_VAR_LAST_INSERT_ID,
@ -607,6 +635,7 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
SYS_VAR_SSL_CRL,
SYS_VAR_SSL_CRLPATH,
SYS_VAR_SSL_KEY,
SYS_VAR_STORED_PROGRAM_CACHE,
SYS_VAR_SYSTEM_TIME_ZONE,
SYS_VAR_TIME_FORMAT,
SYS_VAR_TIME_ZONE,
@ -882,7 +911,18 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = {
"lc_time_names",
"activate_all_roles_on_login",
"_enable_rich_vector_format",
"innodb_stats_persistent"
"innodb_stats_persistent",
"debug",
"innodb_change_buffering_debug",
"innodb_compress_debug",
"innodb_disable_resize_buffer_pool_debug",
"innodb_fil_make_page_dirty_debug",
"innodb_limit_optimistic_insert_debug",
"innodb_merge_threshold_set_all_debug",
"innodb_saved_page_number_debug",
"innodb_trx_purge_view_update_only_debug",
"innodb_trx_rseg_n_slots_debug",
"stored_program_cache"
};
bool ObSysVarFactory::sys_var_name_case_cmp(const char *name1, const ObString &name2)
@ -1299,6 +1339,17 @@ int ObSysVarFactory::create_all_sys_vars()
+ sizeof(ObSysVarActivateAllRolesOnLogin)
+ sizeof(ObSysVarEnableRichVectorFormat)
+ sizeof(ObSysVarInnodbStatsPersistent)
+ sizeof(ObSysVarDebug)
+ sizeof(ObSysVarInnodbChangeBufferingDebug)
+ sizeof(ObSysVarInnodbCompressDebug)
+ sizeof(ObSysVarInnodbDisableResizeBufferPoolDebug)
+ sizeof(ObSysVarInnodbFilMakePageDirtyDebug)
+ sizeof(ObSysVarInnodbLimitOptimisticInsertDebug)
+ sizeof(ObSysVarInnodbMergeThresholdSetAllDebug)
+ sizeof(ObSysVarInnodbSavedPageNumberDebug)
+ sizeof(ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug)
+ sizeof(ObSysVarInnodbTrxRsegNSlotsDebug)
+ sizeof(ObSysVarStoredProgramCache)
;
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) {
@ -3539,6 +3590,105 @@ int ObSysVarFactory::create_all_sys_vars()
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbStatsPersistent));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbChangeBufferingDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbChangeBufferingDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbChangeBufferingDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbCompressDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbCompressDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_COMPRESS_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbCompressDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbDisableResizeBufferPoolDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbDisableResizeBufferPoolDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbDisableResizeBufferPoolDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbFilMakePageDirtyDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbFilMakePageDirtyDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbFilMakePageDirtyDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbLimitOptimisticInsertDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbLimitOptimisticInsertDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbLimitOptimisticInsertDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbMergeThresholdSetAllDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbMergeThresholdSetAllDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbMergeThresholdSetAllDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbSavedPageNumberDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbSavedPageNumberDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbSavedPageNumberDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbTrxRsegNSlotsDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbTrxRsegNSlotsDebug", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarInnodbTrxRsegNSlotsDebug));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarStoredProgramCache())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarStoredProgramCache", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_STORED_PROGRAM_CACHE))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarStoredProgramCache));
}
}
}
return ret;
@ -6277,6 +6427,127 @@ int ObSysVarFactory::create_sys_var(ObIAllocator &allocator_, ObSysVarClassType
}
break;
}
case SYS_VAR_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbChangeBufferingDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbChangeBufferingDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbChangeBufferingDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbChangeBufferingDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_COMPRESS_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbCompressDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbCompressDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbCompressDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbCompressDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbDisableResizeBufferPoolDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbDisableResizeBufferPoolDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbDisableResizeBufferPoolDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbDisableResizeBufferPoolDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbFilMakePageDirtyDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbFilMakePageDirtyDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbFilMakePageDirtyDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbFilMakePageDirtyDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbLimitOptimisticInsertDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbLimitOptimisticInsertDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbLimitOptimisticInsertDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbLimitOptimisticInsertDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbMergeThresholdSetAllDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbMergeThresholdSetAllDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbMergeThresholdSetAllDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbMergeThresholdSetAllDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbSavedPageNumberDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbSavedPageNumberDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbSavedPageNumberDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbSavedPageNumberDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug", K(ret));
}
break;
}
case SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInnodbTrxRsegNSlotsDebug)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInnodbTrxRsegNSlotsDebug)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInnodbTrxRsegNSlotsDebug())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarInnodbTrxRsegNSlotsDebug", K(ret));
}
break;
}
case SYS_VAR_STORED_PROGRAM_CACHE: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarStoredProgramCache)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarStoredProgramCache)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarStoredProgramCache())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarStoredProgramCache", K(ret));
}
break;
}
default: {
ret = OB_ERR_UNEXPECTED;

View File

@ -1793,6 +1793,85 @@ public:
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_STATS_PERSISTENT; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(247); }
};
class ObSysVarDebug : public ObVarcharSysVar
{
public:
ObSysVarDebug() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(248); }
};
class ObSysVarInnodbChangeBufferingDebug : public ObIntSysVar
{
public:
ObSysVarInnodbChangeBufferingDebug() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(249); }
};
class ObSysVarInnodbCompressDebug : public ObEnumSysVar
{
public:
const static char * INNODB_COMPRESS_DEBUG_NAMES[];
public:
ObSysVarInnodbCompressDebug() : ObEnumSysVar(INNODB_COMPRESS_DEBUG_NAMES, NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_COMPRESS_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(250); }
};
class ObSysVarInnodbDisableResizeBufferPoolDebug : public ObBoolSysVar
{
public:
ObSysVarInnodbDisableResizeBufferPoolDebug() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(251); }
};
class ObSysVarInnodbFilMakePageDirtyDebug : public ObIntSysVar
{
public:
ObSysVarInnodbFilMakePageDirtyDebug() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(252); }
};
class ObSysVarInnodbLimitOptimisticInsertDebug : public ObIntSysVar
{
public:
ObSysVarInnodbLimitOptimisticInsertDebug() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(253); }
};
class ObSysVarInnodbMergeThresholdSetAllDebug : public ObIntSysVar
{
public:
ObSysVarInnodbMergeThresholdSetAllDebug() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(254); }
};
class ObSysVarInnodbSavedPageNumberDebug : public ObIntSysVar
{
public:
ObSysVarInnodbSavedPageNumberDebug() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(255); }
};
class ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug : public ObBoolSysVar
{
public:
ObSysVarInnodbTrxPurgeViewUpdateOnlyDebug() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(256); }
};
class ObSysVarInnodbTrxRsegNSlotsDebug : public ObIntSysVar
{
public:
ObSysVarInnodbTrxRsegNSlotsDebug() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(257); }
};
class ObSysVarStoredProgramCache : public ObIntSysVar
{
public:
ObSysVarStoredProgramCache() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_STORED_PROGRAM_CACHE; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(258); }
};
class ObSysVarFactory
@ -1813,7 +1892,7 @@ public:
static const common::ObString get_sys_var_name_by_id(ObSysVarClassType sys_var_id);
const static int64_t MYSQL_SYS_VARS_COUNT = 99;
const static int64_t OB_SYS_VARS_COUNT = 149;
const static int64_t OB_SYS_VARS_COUNT = 160;
const static int64_t ALL_SYS_VARS_COUNT = MYSQL_SYS_VARS_COUNT + OB_SYS_VARS_COUNT;
const static int64_t INVALID_MAX_READ_STALE_TIME = -1;

View File

@ -3496,13 +3496,171 @@ static struct VarsInit{
ObSysVars[247].alias_ = "OB_SV_INNODB_STATS_PERSISTENT" ;
}();
[&] (){
ObSysVars[248].default_value_ = "d:t:i:o,/tmp/mysqld.trace" ;
ObSysVars[248].info_ = "This variable indicates the current debugging settings" ;
ObSysVars[248].name_ = "debug" ;
ObSysVars[248].data_type_ = ObVarcharType ;
ObSysVars[248].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[248].id_ = SYS_VAR_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_DEBUG] = 248 ;
ObSysVars[248].base_value_ = "d:t:i:o,/tmp/mysqld.trace" ;
ObSysVars[248].alias_ = "OB_SV_DEBUG" ;
}();
[&] (){
ObSysVars[249].default_value_ = "0" ;
ObSysVars[249].info_ = "Sets a debug flag for InnoDB change buffering. " ;
ObSysVars[249].name_ = "innodb_change_buffering_debug" ;
ObSysVars[249].data_type_ = ObIntType ;
ObSysVars[249].min_val_ = "0" ;
ObSysVars[249].max_val_ = "2" ;
ObSysVars[249].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[249].id_ = SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_CHANGE_BUFFERING_DEBUG] = 249 ;
ObSysVars[249].base_value_ = "0" ;
ObSysVars[249].alias_ = "OB_SV_INNODB_CHANGE_BUFFERING_DEBUG" ;
}();
[&] (){
ObSysVars[250].default_value_ = "0" ;
ObSysVars[250].info_ = "Compresses all tables using a specified compression algorithm without having to define a COMPRESSION attribute for each table." ;
ObSysVars[250].name_ = "innodb_compress_debug" ;
ObSysVars[250].data_type_ = ObIntType ;
ObSysVars[250].enum_names_ = "[u'NONE', u'ZLIB', u'LZ4', u'LZ4HC']" ;
ObSysVars[250].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[250].id_ = SYS_VAR_INNODB_COMPRESS_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_COMPRESS_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_COMPRESS_DEBUG] = 250 ;
ObSysVars[250].base_value_ = "0" ;
ObSysVars[250].alias_ = "OB_SV_INNODB_COMPRESS_DEBUG" ;
}();
[&] (){
ObSysVars[251].default_value_ = "1" ;
ObSysVars[251].info_ = "Disables resizing of the InnoDB buffer pool" ;
ObSysVars[251].name_ = "innodb_disable_resize_buffer_pool_debug" ;
ObSysVars[251].data_type_ = ObIntType ;
ObSysVars[251].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[251].id_ = SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG] = 251 ;
ObSysVars[251].base_value_ = "1" ;
ObSysVars[251].alias_ = "OB_SV_INNODB_DISABLE_RESIZE_BUFFER_POOL_DEBUG" ;
}();
[&] (){
ObSysVars[252].default_value_ = "0" ;
ObSysVars[252].info_ = "set to 1 (the default by MySQL), foreign key constraints are checked. If set to 0, foreign key constraints are ignored" ;
ObSysVars[252].name_ = "innodb_fil_make_page_dirty_debug" ;
ObSysVars[252].data_type_ = ObIntType ;
ObSysVars[252].min_val_ = "0" ;
ObSysVars[252].max_val_ = "4294967295" ;
ObSysVars[252].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[252].id_ = SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG] = 252 ;
ObSysVars[252].base_value_ = "0" ;
ObSysVars[252].alias_ = "OB_SV_INNODB_FIL_MAKE_PAGE_DIRTY_DEBUG" ;
}();
[&] (){
ObSysVars[253].default_value_ = "0" ;
ObSysVars[253].info_ = "Limits the number of records per B-tree page" ;
ObSysVars[253].name_ = "innodb_limit_optimistic_insert_debug" ;
ObSysVars[253].data_type_ = ObIntType ;
ObSysVars[253].min_val_ = "0" ;
ObSysVars[253].max_val_ = "4294967295" ;
ObSysVars[253].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[253].id_ = SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG] = 253 ;
ObSysVars[253].base_value_ = "0" ;
ObSysVars[253].alias_ = "OB_SV_INNODB_LIMIT_OPTIMISTIC_INSERT_DEBUG" ;
}();
[&] (){
ObSysVars[254].default_value_ = "50" ;
ObSysVars[254].info_ = "Defines a page-full percentage value for index pages that overrides the current MERGE_THRESHOLD setting for all indexes that are currently in the dictionary cache" ;
ObSysVars[254].name_ = "innodb_merge_threshold_set_all_debug" ;
ObSysVars[254].data_type_ = ObIntType ;
ObSysVars[254].min_val_ = "1" ;
ObSysVars[254].max_val_ = "50" ;
ObSysVars[254].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[254].id_ = SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG] = 254 ;
ObSysVars[254].base_value_ = "50" ;
ObSysVars[254].alias_ = "OB_SV_INNODB_MERGE_THRESHOLD_SET_ALL_DEBUG" ;
}();
[&] (){
ObSysVars[255].default_value_ = "0" ;
ObSysVars[255].info_ = "Saves a page number. Setting the innodb_fil_make_page_dirty_debug option dirties the page defined by innodb_saved_page_number_debug" ;
ObSysVars[255].name_ = "innodb_saved_page_number_debug" ;
ObSysVars[255].data_type_ = ObIntType ;
ObSysVars[255].min_val_ = "0" ;
ObSysVars[255].max_val_ = "4294967295" ;
ObSysVars[255].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[255].id_ = SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_SAVED_PAGE_NUMBER_DEBUG] = 255 ;
ObSysVars[255].base_value_ = "0" ;
ObSysVars[255].alias_ = "OB_SV_INNODB_SAVED_PAGE_NUMBER_DEBUG" ;
}();
[&] (){
ObSysVars[256].default_value_ = "0" ;
ObSysVars[256].info_ = "Pauses purging of delete-marked records while allowing the purge view to be updated" ;
ObSysVars[256].name_ = "innodb_trx_purge_view_update_only_debug" ;
ObSysVars[256].data_type_ = ObIntType ;
ObSysVars[256].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[256].id_ = SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG] = 256 ;
ObSysVars[256].base_value_ = "0" ;
ObSysVars[256].alias_ = "OB_SV_INNODB_TRX_PURGE_VIEW_UPDATE_ONLY_DEBUG" ;
}();
[&] (){
ObSysVars[257].default_value_ = "0" ;
ObSysVars[257].info_ = "Sets a debug flag that limits TRX_RSEG_N_SLOTS to a given value for the trx_rsegf_undo_find_free function that looks for free slots for undo log segments" ;
ObSysVars[257].name_ = "innodb_trx_rseg_n_slots_debug" ;
ObSysVars[257].data_type_ = ObIntType ;
ObSysVars[257].min_val_ = "0" ;
ObSysVars[257].max_val_ = "1024" ;
ObSysVars[257].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[257].id_ = SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_INNODB_TRX_RSEG_N_SLOTS_DEBUG] = 257 ;
ObSysVars[257].base_value_ = "0" ;
ObSysVars[257].alias_ = "OB_SV_INNODB_TRX_RSEG_N_SLOTS_DEBUG" ;
}();
[&] (){
ObSysVars[258].default_value_ = "256" ;
ObSysVars[258].info_ = "Sets a soft upper limit for the number of cached stored routines per connection" ;
ObSysVars[258].name_ = "stored_program_cache" ;
ObSysVars[258].data_type_ = ObIntType ;
ObSysVars[258].min_val_ = "16" ;
ObSysVars[258].max_val_ = "524288" ;
ObSysVars[258].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ;
ObSysVars[258].id_ = SYS_VAR_STORED_PROGRAM_CACHE ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_STORED_PROGRAM_CACHE)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_STORED_PROGRAM_CACHE] = 258 ;
ObSysVars[258].base_value_ = "256" ;
ObSysVars[258].alias_ = "OB_SV_STORED_PROGRAM_CACHE" ;
}();
if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) {
HasInvalidSysVar = true;
}
}
}vars_init;
static int64_t var_amount = 248;
static int64_t var_amount = 259;
int64_t ObSysVariables::get_all_sys_var_count(){ return ObSysVarFactory::ALL_SYS_VARS_COUNT;}
ObSysVarClassType ObSysVariables::get_sys_var_id(int64_t i){ return ObSysVars[i].id_;}

View File

@ -3532,5 +3532,168 @@
"info_cn": "指定InnoDB索引统计信息是否持久化到磁盘",
"background_cn": "",
"ref_url": ""
},
"debug": {
"id": 10164,
"name": "debug",
"default_value": "d:t:i:o,/tmp/mysqld.trace",
"base_value": "d:t:i:o,/tmp/mysqld.trace",
"data_type": "varchar",
"info": "This variable indicates the current debugging settings",
"flags": "GLOBAL | SESSION | MYSQL_ONLY",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_change_buffering_debug": {
"id": 10165,
"name": "innodb_change_buffering_debug",
"default_value": "0",
"base_value": "0",
"data_type": "int",
"info": "Sets a debug flag for InnoDB change buffering. ",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "0",
"max_val": "2",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_compress_debug": {
"id": 10166,
"name": "innodb_compress_debug",
"default_value": "0",
"base_value": "0",
"data_type": "enum",
"info": "Compresses all tables using a specified compression algorithm without having to define a COMPRESSION attribute for each table.",
"flags": "GLOBAL | MYSQL_ONLY",
"enum_names": [
"NONE",
"ZLIB",
"LZ4",
"LZ4HC"
],
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_disable_resize_buffer_pool_debug": {
"id": 10167,
"name": "innodb_disable_resize_buffer_pool_debug",
"default_value": "1",
"base_value": "1",
"data_type": "bool",
"info": "Disables resizing of the InnoDB buffer pool",
"flags": "GLOBAL | MYSQL_ONLY",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_fil_make_page_dirty_debug": {
"id": 10168,
"name": "innodb_fil_make_page_dirty_debug",
"default_value": "0",
"base_value": "0",
"data_type": "int",
"info": "set to 1 (the default by MySQL), foreign key constraints are checked. If set to 0, foreign key constraints are ignored",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "0",
"max_val": "4294967295",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_limit_optimistic_insert_debug": {
"id": 10169,
"name": "innodb_limit_optimistic_insert_debug",
"default_value": "0",
"base_value": "0",
"data_type": "int",
"info": "Limits the number of records per B-tree page",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "0",
"max_val": "4294967295",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_merge_threshold_set_all_debug": {
"id": 10170,
"name": "innodb_merge_threshold_set_all_debug",
"default_value": "50",
"base_value": "50",
"data_type": "int",
"info": "Defines a page-full percentage value for index pages that overrides the current MERGE_THRESHOLD setting for all indexes that are currently in the dictionary cache",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "1",
"max_val": "50",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_saved_page_number_debug": {
"id": 10171,
"name": "innodb_saved_page_number_debug",
"default_value": "0",
"base_value": "0",
"data_type": "int",
"info": "Saves a page number. Setting the innodb_fil_make_page_dirty_debug option dirties the page defined by innodb_saved_page_number_debug",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "0",
"max_val": "4294967295",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_trx_purge_view_update_only_debug": {
"id": 10172,
"name": "innodb_trx_purge_view_update_only_debug",
"default_value": "0",
"base_value": "0",
"data_type": "bool",
"info": "Pauses purging of delete-marked records while allowing the purge view to be updated",
"flags": "GLOBAL | MYSQL_ONLY",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"innodb_trx_rseg_n_slots_debug": {
"id": 10173,
"name": "innodb_trx_rseg_n_slots_debug",
"default_value": "0",
"base_value": "0",
"data_type": "int",
"info": "Sets a debug flag that limits TRX_RSEG_N_SLOTS to a given value for the trx_rsegf_undo_find_free function that looks for free slots for undo log segments",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "0",
"max_val": "1024",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
},
"stored_program_cache": {
"id": 10174,
"name": "stored_program_cache",
"default_value": "256",
"base_value": "256",
"data_type": "int",
"info": "Sets a soft upper limit for the number of cached stored routines per connection",
"flags": "GLOBAL | MYSQL_ONLY",
"min_val": "16",
"max_val": "524288",
"publish_version": "423",
"info_cn": "",
"background_cn": "",
"ref_url": ""
}
}