Placeholder2
This commit is contained in:
parent
c56d8b08f2
commit
ddfb336339
@ -13009,7 +13009,8 @@ def_table_schema(**gen_iterate_private_virtual_table_def(
|
||||
# 12440: __all_virtual_wr_system_event
|
||||
# 12441: __all_virtual_wr_event_name
|
||||
# 12442: __all_tenant_scheduler_running_job
|
||||
#
|
||||
# 12443: __all_virtual_routine_privilege
|
||||
# 12444: __all_virtual_routine_privilege_history
|
||||
# 余留位置
|
||||
#
|
||||
|
||||
|
@ -258,6 +258,8 @@ enum ObSysVarClassType
|
||||
SYS_VAR_NCHARACTER_SET_CONNECTION = 10152,
|
||||
SYS_VAR_AUTOMATIC_SP_PRIVILEGES = 10153,
|
||||
SYS_VAR_PRIVILEGE_FEATURES_ENABLE = 10154,
|
||||
SYS_VAR__PRIV_CONTROL = 10155,
|
||||
SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK = 10156,
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -253,6 +253,8 @@ namespace share
|
||||
static const char* const OB_SV_NCHARACTER_SET_CONNECTION = "ncharacter_set_connection";
|
||||
static const char* const OB_SV_AUTOMATIC_SP_PRIVILEGES = "automatic_sp_privileges";
|
||||
static const char* const OB_SV_PRIVILEGE_FEATURES_ENABLE = "privilege_features_enable";
|
||||
static const char* const OB_SV__PRIV_CONTROL = "_priv_control";
|
||||
static const char* const OB_SV__ENABLE_MYSQL_PL_PRIV_CHECK = "_enable_mysql_pl_priv_check";
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -1712,6 +1712,20 @@ public:
|
||||
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PRIVILEGE_FEATURES_ENABLE; }
|
||||
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(236); }
|
||||
};
|
||||
class ObSysVarPrivControl : public ObVarcharSysVar
|
||||
{
|
||||
public:
|
||||
ObSysVarPrivControl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {}
|
||||
inline virtual ObSysVarClassType get_type() const { return SYS_VAR__PRIV_CONTROL; }
|
||||
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(237); }
|
||||
};
|
||||
class ObSysVarEnableMysqlPlPrivCheck : public ObBoolSysVar
|
||||
{
|
||||
public:
|
||||
ObSysVarEnableMysqlPlPrivCheck() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {}
|
||||
inline virtual ObSysVarClassType get_type() const { return SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK; }
|
||||
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(238); }
|
||||
};
|
||||
|
||||
|
||||
class ObSysVarFactory
|
||||
@ -1732,7 +1746,7 @@ public:
|
||||
static const common::ObString get_sys_var_name_by_id(ObSysVarClassType sys_var_id);
|
||||
|
||||
const static int64_t MYSQL_SYS_VARS_COUNT = 97;
|
||||
const static int64_t OB_SYS_VARS_COUNT = 140;
|
||||
const static int64_t OB_SYS_VARS_COUNT = 142;
|
||||
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;
|
||||
|
||||
|
@ -3341,7 +3341,7 @@ static struct VarsInit{
|
||||
ObSysVars[236].info_ = "enabling a series of privilege features based on an OceanBase release number" ;
|
||||
ObSysVars[236].name_ = "privilege_features_enable" ;
|
||||
ObSysVars[236].data_type_ = ObVarcharType ;
|
||||
ObSysVars[236].flags_ = ObSysVarFlag::GLOBAL_SCOPE ;
|
||||
ObSysVars[236].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ;
|
||||
ObSysVars[236].id_ = SYS_VAR_PRIVILEGE_FEATURES_ENABLE ;
|
||||
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_PRIVILEGE_FEATURES_ENABLE)) ;
|
||||
ObSysVarsIdToArrayIdx[SYS_VAR_PRIVILEGE_FEATURES_ENABLE] = 236 ;
|
||||
@ -3349,13 +3349,39 @@ static struct VarsInit{
|
||||
ObSysVars[236].alias_ = "OB_SV_PRIVILEGE_FEATURES_ENABLE" ;
|
||||
}();
|
||||
|
||||
[&] (){
|
||||
ObSysVars[237].default_value_ = "" ;
|
||||
ObSysVars[237].info_ = "whether turn on mysql privilege check" ;
|
||||
ObSysVars[237].name_ = "_priv_control" ;
|
||||
ObSysVars[237].data_type_ = ObVarcharType ;
|
||||
ObSysVars[237].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ;
|
||||
ObSysVars[237].id_ = SYS_VAR__PRIV_CONTROL ;
|
||||
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR__PRIV_CONTROL)) ;
|
||||
ObSysVarsIdToArrayIdx[SYS_VAR__PRIV_CONTROL] = 237 ;
|
||||
ObSysVars[237].base_value_ = "" ;
|
||||
ObSysVars[237].alias_ = "OB_SV__PRIV_CONTROL" ;
|
||||
}();
|
||||
|
||||
[&] (){
|
||||
ObSysVars[238].default_value_ = "0" ;
|
||||
ObSysVars[238].info_ = "specifies whether check the mysql routine priv" ;
|
||||
ObSysVars[238].name_ = "_enable_mysql_pl_priv_check" ;
|
||||
ObSysVars[238].data_type_ = ObIntType ;
|
||||
ObSysVars[238].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ;
|
||||
ObSysVars[238].id_ = SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK ;
|
||||
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK)) ;
|
||||
ObSysVarsIdToArrayIdx[SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK] = 238 ;
|
||||
ObSysVars[238].base_value_ = "0" ;
|
||||
ObSysVars[238].alias_ = "OB_SV__ENABLE_MYSQL_PL_PRIV_CHECK" ;
|
||||
}();
|
||||
|
||||
if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) {
|
||||
HasInvalidSysVar = true;
|
||||
}
|
||||
}
|
||||
}vars_init;
|
||||
|
||||
static int64_t var_amount = 237;
|
||||
static int64_t var_amount = 239;
|
||||
|
||||
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_;}
|
||||
|
@ -3374,7 +3374,33 @@
|
||||
"base_value": "",
|
||||
"data_type": "varchar",
|
||||
"info": "enabling a series of privilege features based on an OceanBase release number",
|
||||
"flags": "GLOBAL",
|
||||
"flags": "GLOBAL | NEED_SERIALIZE",
|
||||
"publish_version": "420",
|
||||
"info_cn": "",
|
||||
"background_cn": "",
|
||||
"ref_url": ""
|
||||
},
|
||||
"_priv_control": {
|
||||
"id": 10155,
|
||||
"name": "_priv_control",
|
||||
"default_value": "",
|
||||
"base_value": "",
|
||||
"data_type": "varchar",
|
||||
"info": "whether turn on mysql privilege check",
|
||||
"flags": "GLOBAL | NEED_SERIALIZE",
|
||||
"publish_version": "420",
|
||||
"info_cn": "",
|
||||
"background_cn": "",
|
||||
"ref_url": ""
|
||||
},
|
||||
"_enable_mysql_pl_priv_check": {
|
||||
"id": 10156,
|
||||
"name": "_enable_mysql_pl_priv_check",
|
||||
"default_value": "0",
|
||||
"base_value": "0",
|
||||
"data_type": "bool",
|
||||
"info": "specifies whether check the mysql routine priv",
|
||||
"flags": "GLOBAL | NEED_SERIALIZE",
|
||||
"publish_version": "420",
|
||||
"info_cn": "",
|
||||
"background_cn": "",
|
||||
|
Loading…
x
Reference in New Issue
Block a user