Placeholder2

This commit is contained in:
SevenJ-swj
2023-10-23 07:09:41 +00:00
committed by ob-robot
parent c56d8b08f2
commit ddfb336339
7 changed files with 125 additions and 6 deletions

View File

@ -127,6 +127,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"_clear_last_archive_timestamp",
"_create_audit_purge_job",
"_drop_audit_purge_job",
"_enable_mysql_pl_priv_check",
"_enable_parallel_ddl",
"_enable_parallel_dml",
"_enable_parallel_query",
@ -143,6 +144,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"_ob_px_slave_mapping_threshold",
"_optimizer_gather_stats_on_load",
"_optimizer_null_aware_antijoin",
"_priv_control",
"_px_broadcast_fudge_factor",
"_px_dist_agg_partial_rollup_pushdown",
"_px_min_granules_per_slave",
@ -367,6 +369,7 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
SYS_VAR__CLEAR_LAST_ARCHIVE_TIMESTAMP,
SYS_VAR__CREATE_AUDIT_PURGE_JOB,
SYS_VAR__DROP_AUDIT_PURGE_JOB,
SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK,
SYS_VAR__ENABLE_PARALLEL_DDL,
SYS_VAR__ENABLE_PARALLEL_DML,
SYS_VAR__ENABLE_PARALLEL_QUERY,
@ -383,6 +386,7 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD,
SYS_VAR__OPTIMIZER_GATHER_STATS_ON_LOAD,
SYS_VAR__OPTIMIZER_NULL_AWARE_ANTIJOIN,
SYS_VAR__PRIV_CONTROL,
SYS_VAR__PX_BROADCAST_FUDGE_FACTOR,
SYS_VAR__PX_DIST_AGG_PARTIAL_ROLLUP_PUSHDOWN,
SYS_VAR__PX_MIN_GRANULES_PER_SLAVE,
@ -839,7 +843,9 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = {
"_ob_proxy_weakread_feedback",
"ncharacter_set_connection",
"automatic_sp_privileges",
"privilege_features_enable"
"privilege_features_enable",
"_priv_control",
"_enable_mysql_pl_priv_check"
};
bool ObSysVarFactory::sys_var_name_case_cmp(const char *name1, const ObString &name2)
@ -1245,6 +1251,8 @@ int ObSysVarFactory::create_all_sys_vars()
+ sizeof(ObSysVarNcharacterSetConnection)
+ sizeof(ObSysVarAutomaticSpPrivileges)
+ sizeof(ObSysVarPrivilegeFeaturesEnable)
+ sizeof(ObSysVarPrivControl)
+ sizeof(ObSysVarEnableMysqlPlPrivCheck)
;
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) {
@ -3386,6 +3394,24 @@ int ObSysVarFactory::create_all_sys_vars()
ptr = (void *)((char *)ptr + sizeof(ObSysVarPrivilegeFeaturesEnable));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPrivControl())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarPrivControl", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR__PRIV_CONTROL))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarPrivControl));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableMysqlPlPrivCheck())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarEnableMysqlPlPrivCheck", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarEnableMysqlPlPrivCheck));
}
}
}
return ret;
@ -6003,6 +6029,28 @@ int ObSysVarFactory::create_sys_var(ObIAllocator &allocator_, ObSysVarClassType
}
break;
}
case SYS_VAR__PRIV_CONTROL: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPrivControl)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPrivControl)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPrivControl())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarPrivControl", K(ret));
}
break;
}
case SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarEnableMysqlPlPrivCheck)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarEnableMysqlPlPrivCheck)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableMysqlPlPrivCheck())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarEnableMysqlPlPrivCheck", K(ret));
}
break;
}
default: {
ret = OB_ERR_UNEXPECTED;