add error code, system variable placeholder

This commit is contained in:
zzg19950727
2023-11-03 07:09:53 +00:00
committed by ob-robot
parent 5de58ed2f6
commit 082e187db6
7 changed files with 76 additions and 16 deletions

View File

@ -2347,6 +2347,7 @@ DEFINE_ERROR(OB_ERR_VALUES_CLAUSE_NEED_HAVE_COLUMN, -11000, ER_VALUES_CLAUSE_NEE
DEFINE_ERROR(OB_ERR_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES, -11001, ER_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES, "HY000", "A VALUES clause cannot use DEFAULT values, unless used as a source in an INSERT statement."); DEFINE_ERROR(OB_ERR_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES, -11001, ER_VALUES_CLAUSE_CANNOT_USE_DEFAULT_VALUES, "HY000", "A VALUES clause cannot use DEFAULT values, unless used as a source in an INSERT statement.");
DEFINE_ERROR_EXT(OB_WRONG_PARTITION_NAME, -11002, ER_WRONG_PARTITION_NAME, "HY000", "Incorrect partition name", "Incorrect partition name '%.*s'"); DEFINE_ERROR_EXT(OB_WRONG_PARTITION_NAME, -11002, ER_WRONG_PARTITION_NAME, "HY000", "Incorrect partition name", "Incorrect partition name '%.*s'");
DEFINE_ERROR_EXT(OB_ERR_PLUGIN_IS_NOT_LOADED, -11003, ER_PLUGIN_IS_NOT_LOADED, "HY000", "Plugin is not loaded", "Plugin '%.*s' is not loaded"); DEFINE_ERROR_EXT(OB_ERR_PLUGIN_IS_NOT_LOADED, -11003, ER_PLUGIN_IS_NOT_LOADED, "HY000", "Plugin is not loaded", "Plugin '%.*s' is not loaded");
//11004 : OB_EST_DEVIA_TOO_LARGE
//////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////
// !!! text/blob || clob/blob erro code // !!! text/blob || clob/blob erro code

View File

@ -262,6 +262,7 @@ enum ObSysVarClassType
SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK = 10156, SYS_VAR__ENABLE_MYSQL_PL_PRIV_CHECK = 10156,
SYS_VAR_OB_ENABLE_PL_CACHE = 10157, SYS_VAR_OB_ENABLE_PL_CACHE = 10157,
SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD = 10158, SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD = 10158,
SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION = 10159,
}; };
} }

View File

@ -257,6 +257,7 @@ namespace share
static const char* const OB_SV__ENABLE_MYSQL_PL_PRIV_CHECK = "_enable_mysql_pl_priv_check"; static const char* const OB_SV__ENABLE_MYSQL_PL_PRIV_CHECK = "_enable_mysql_pl_priv_check";
static const char* const OB_SV_ENABLE_PL_CACHE = "ob_enable_pl_cache"; static const char* const OB_SV_ENABLE_PL_CACHE = "ob_enable_pl_cache";
static const char* const OB_SV_DEFAULT_LOB_INROW_THRESHOLD = "ob_default_lob_inrow_threshold"; static const char* const OB_SV_DEFAULT_LOB_INROW_THRESHOLD = "ob_default_lob_inrow_threshold";
static const char* const OB_SV__ENABLE_STORAGE_CARDINALITY_ESTIMATION = "_enable_storage_cardinality_estimation";
} }
} }

View File

@ -131,6 +131,7 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {
"_enable_parallel_ddl", "_enable_parallel_ddl",
"_enable_parallel_dml", "_enable_parallel_dml",
"_enable_parallel_query", "_enable_parallel_query",
"_enable_storage_cardinality_estimation",
"_force_order_preserve_set", "_force_order_preserve_set",
"_force_parallel_ddl_dop", "_force_parallel_ddl_dop",
"_force_parallel_dml_dop", "_force_parallel_dml_dop",
@ -375,6 +376,7 @@ const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {
SYS_VAR__ENABLE_PARALLEL_DDL, SYS_VAR__ENABLE_PARALLEL_DDL,
SYS_VAR__ENABLE_PARALLEL_DML, SYS_VAR__ENABLE_PARALLEL_DML,
SYS_VAR__ENABLE_PARALLEL_QUERY, SYS_VAR__ENABLE_PARALLEL_QUERY,
SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION,
SYS_VAR__FORCE_ORDER_PRESERVE_SET, SYS_VAR__FORCE_ORDER_PRESERVE_SET,
SYS_VAR__FORCE_PARALLEL_DDL_DOP, SYS_VAR__FORCE_PARALLEL_DDL_DOP,
SYS_VAR__FORCE_PARALLEL_DML_DOP, SYS_VAR__FORCE_PARALLEL_DML_DOP,
@ -851,7 +853,8 @@ const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = {
"_priv_control", "_priv_control",
"_enable_mysql_pl_priv_check", "_enable_mysql_pl_priv_check",
"ob_enable_pl_cache", "ob_enable_pl_cache",
"ob_default_lob_inrow_threshold" "ob_default_lob_inrow_threshold",
"_enable_storage_cardinality_estimation"
}; };
bool ObSysVarFactory::sys_var_name_case_cmp(const char *name1, const ObString &name2) bool ObSysVarFactory::sys_var_name_case_cmp(const char *name1, const ObString &name2)
@ -1260,7 +1263,8 @@ int ObSysVarFactory::create_all_sys_vars()
+ sizeof(ObSysVarPrivControl) + sizeof(ObSysVarPrivControl)
+ sizeof(ObSysVarEnableMysqlPlPrivCheck) + sizeof(ObSysVarEnableMysqlPlPrivCheck)
+ sizeof(ObSysVarObEnablePlCache) + sizeof(ObSysVarObEnablePlCache)
+ sizeof(ObSysVarDefaultLobInrowThreshold) + sizeof(ObSysVarObDefaultLobInrowThreshold)
+ sizeof(ObSysVarEnableStorageCardinalityEstimation)
; ;
void *ptr = NULL; void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) { if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) {
@ -3430,12 +3434,21 @@ int ObSysVarFactory::create_all_sys_vars()
} }
} }
if (OB_SUCC(ret)) { if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDefaultLobInrowThreshold())) { if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObDefaultLobInrowThreshold())) {
ret = OB_ALLOCATE_MEMORY_FAILED; ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarDefaultLobInrowThreshold", K(ret)); LOG_ERROR("fail to new ObSysVarObDefaultLobInrowThreshold", K(ret));
} else { } else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD))] = sys_var_ptr; store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarDefaultLobInrowThreshold)); ptr = (void *)((char *)ptr + sizeof(ObSysVarObDefaultLobInrowThreshold));
}
}
if (OB_SUCC(ret)) {
if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableStorageCardinalityEstimation())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarEnableStorageCardinalityEstimation", K(ret));
} else {
store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast<int64_t>(SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION))] = sys_var_ptr;
ptr = (void *)((char *)ptr + sizeof(ObSysVarEnableStorageCardinalityEstimation));
} }
} }
@ -6090,12 +6103,23 @@ int ObSysVarFactory::create_sys_var(ObIAllocator &allocator_, ObSysVarClassType
} }
case SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD: { case SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD: {
void *ptr = NULL; void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDefaultLobInrowThreshold)))) { if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObDefaultLobInrowThreshold)))) {
ret = OB_ALLOCATE_MEMORY_FAILED; ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDefaultLobInrowThreshold))); LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObDefaultLobInrowThreshold)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDefaultLobInrowThreshold())) { } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObDefaultLobInrowThreshold())) {
ret = OB_ALLOCATE_MEMORY_FAILED; ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarDefaultLobInrowThreshold", K(ret)); LOG_ERROR("fail to new ObSysVarObDefaultLobInrowThreshold", K(ret));
}
break;
}
case SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION: {
void *ptr = NULL;
if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarEnableStorageCardinalityEstimation)))) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarEnableStorageCardinalityEstimation)));
} else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableStorageCardinalityEstimation())) {
ret = OB_ALLOCATE_MEMORY_FAILED;
LOG_ERROR("fail to new ObSysVarEnableStorageCardinalityEstimation", K(ret));
} }
break; break;
} }

View File

@ -1733,14 +1733,21 @@ public:
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_PL_CACHE; } inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_PL_CACHE; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(239); } inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(239); }
}; };
class ObSysVarObDefaultLobInrowThreshold : public ObIntSysVar
class ObSysVarDefaultLobInrowThreshold : public ObIntSysVar
{ {
public: public:
ObSysVarDefaultLobInrowThreshold() : ObIntSysVar(ObSysVarOnCheckFuncs::check_default_lob_inrow_threshold, NULL, NULL, NULL, NULL) {} ObSysVarObDefaultLobInrowThreshold() : ObIntSysVar(ObSysVarOnCheckFuncs::check_default_lob_inrow_threshold, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD; } inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(240); } inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(240); }
}; };
class ObSysVarEnableStorageCardinalityEstimation : public ObBoolSysVar
{
public:
ObSysVarEnableStorageCardinalityEstimation() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {}
inline virtual ObSysVarClassType get_type() const { return SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION; }
inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(241); }
};
class ObSysVarFactory class ObSysVarFactory
{ {
@ -1760,7 +1767,7 @@ public:
static const common::ObString get_sys_var_name_by_id(ObSysVarClassType sys_var_id); 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 MYSQL_SYS_VARS_COUNT = 97;
const static int64_t OB_SYS_VARS_COUNT = 144; const static int64_t OB_SYS_VARS_COUNT = 145;
const static int64_t ALL_SYS_VARS_COUNT = MYSQL_SYS_VARS_COUNT + OB_SYS_VARS_COUNT; 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; const static int64_t INVALID_MAX_READ_STALE_TIME = -1;

View File

@ -3393,13 +3393,26 @@ static struct VarsInit{
ObSysVars[240].info_ = "default lob inrow threshold config" ; ObSysVars[240].info_ = "default lob inrow threshold config" ;
ObSysVars[240].name_ = "ob_default_lob_inrow_threshold" ; ObSysVars[240].name_ = "ob_default_lob_inrow_threshold" ;
ObSysVars[240].data_type_ = ObIntType ; ObSysVars[240].data_type_ = ObIntType ;
ObSysVars[240].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; ObSysVars[240].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ;
ObSysVars[240].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_default_lob_inrow_threshold" ; ObSysVars[240].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_default_lob_inrow_threshold" ;
ObSysVars[240].id_ = SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD ; ObSysVars[240].id_ = SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD)) ; cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD)) ;
ObSysVarsIdToArrayIdx[SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD] = 240 ; ObSysVarsIdToArrayIdx[SYS_VAR_OB_DEFAULT_LOB_INROW_THRESHOLD] = 240 ;
ObSysVars[240].base_value_ = "4096" ; ObSysVars[240].base_value_ = "4096" ;
ObSysVars[240].alias_ = "OB_SV_DEFAULT_LOB_INROW_THRESHOLD" ; ObSysVars[240].alias_ = "OB_SV_DEFAULT_LOB_INROW_THRESHOLD" ;
}();
[&] (){
ObSysVars[241].default_value_ = "1" ;
ObSysVars[241].info_ = "whether use storage cardinality estimation" ;
ObSysVars[241].name_ = "_enable_storage_cardinality_estimation" ;
ObSysVars[241].data_type_ = ObIntType ;
ObSysVars[241].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ;
ObSysVars[241].id_ = SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION ;
cur_max_var_id = MAX(cur_max_var_id, static_cast<int64_t>(SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION)) ;
ObSysVarsIdToArrayIdx[SYS_VAR__ENABLE_STORAGE_CARDINALITY_ESTIMATION] = 241 ;
ObSysVars[241].base_value_ = "1" ;
ObSysVars[241].alias_ = "OB_SV__ENABLE_STORAGE_CARDINALITY_ESTIMATION" ;
}(); }();
if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) { if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) {
@ -3408,7 +3421,7 @@ static struct VarsInit{
} }
}vars_init; }vars_init;
static int64_t var_amount = 241; static int64_t var_amount = 242;
int64_t ObSysVariables::get_all_sys_var_count(){ return ObSysVarFactory::ALL_SYS_VARS_COUNT;} 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_;} ObSysVarClassType ObSysVariables::get_sys_var_id(int64_t i){ return ObSysVars[i].id_;}

View File

@ -3432,5 +3432,18 @@
"info_cn": "", "info_cn": "",
"background_cn": "", "background_cn": "",
"ref_url": "" "ref_url": ""
},
"_enable_storage_cardinality_estimation": {
"id": 10159,
"name": "_enable_storage_cardinality_estimation",
"default_value": "1",
"base_value": "1",
"data_type": "bool",
"info": "whether use storage cardinality estimation",
"flags": "GLOBAL | SESSION | NEED_SERIALIZE",
"publish_version": "422",
"info_cn": "",
"background_cn": "",
"ref_url": ""
} }
} }