diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b703e18c510d8443322460782143f886960b91e..fa7912ca48422935dbd32306e8f45700312ae33f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,9 +4,9 @@ include(cmake/Utils.cmake) include(cmake/Env.cmake) project("OceanBase CE" - VERSION 3.1.1 + VERSION 3.1.2 DESCRIPTION "OceanBase distributed database system" - HOMEPAGE_URL "https://www.oceanbase.com/" + HOMEPAGE_URL "https://open.oceanbase.com/" LANGUAGES CXX C ASM) ob_define(WITH_OSS OFF) diff --git a/cmake/RPM.cmake b/cmake/RPM.cmake index 91831cdecd29907552694fcd0ecd3f80c05f9ab0..ee9dce9bd758226cb68791a0a8fbc588bc26d915 100644 --- a/cmake/RPM.cmake +++ b/cmake/RPM.cmake @@ -47,6 +47,15 @@ install(PROGRAMS install(FILES tools/timezone/timezone_V1.log + tools/upgrade/upgrade_pre.py + tools/upgrade/upgrade_post.py + tools/upgrade/upgrade_post_checker.py + tools/upgrade/upgrade_checker.py + tools/upgrade/upgrade_cluster_health_checker.py + tools/upgrade/upgrade_rolling_pre.py + tools/upgrade/upgrade_rolling_post.py + tools/upgrade/priv_checker.py + tools/upgrade/oceanbase_upgrade_dep.yml DESTINATION etc COMPONENT server) diff --git a/src/share/ob_cluster_version.h b/src/share/ob_cluster_version.h index cbfa65a990df58b659564089cc300da0118e6efa..3d0bdc512e2f7394e7fca40574c2c4f65f6eabad 100644 --- a/src/share/ob_cluster_version.h +++ b/src/share/ob_cluster_version.h @@ -93,11 +93,12 @@ uint64_t cal_version(const uint64_t major, const uint64_t minor, const uint64_t #define CLUSTER_VERSION_3000 (oceanbase::common::cal_version(3, 0, 0)) #define CLUSTER_VERSION_3100 (oceanbase::common::cal_version(3, 1, 0)) #define CLUSTER_VERSION_311 (oceanbase::common::cal_version(3, 1, 1)) +#define CLUSTER_VERSION_312 (oceanbase::common::cal_version(3, 1, 2)) #define CLUSTER_VERSION_MAX UINT64_MAX // FIXME If you update the above version, please update me, CLUSTER_CURRENT_VERSION & ObUpgradeChecker!!!!!! //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -#define CLUSTER_CURRENT_VERSION CLUSTER_VERSION_311 +#define CLUSTER_CURRENT_VERSION CLUSTER_VERSION_312 #define GET_MIN_CLUSTER_VERSION() (oceanbase::common::ObClusterVersion::get_instance().get_cluster_version()) #define GET_UNIS_CLUSTER_VERSION() (::oceanbase::lib::get_unis_compat_version() ?: GET_MIN_CLUSTER_VERSION()) diff --git a/src/share/ob_upgrade_utils.cpp b/src/share/ob_upgrade_utils.cpp index 4e9554931bccd98cead72db1b6c7e4ec3a8eec35..29d8e455cf8ad4ff59ffd02b64e4839c64e4097a 100644 --- a/src/share/ob_upgrade_utils.cpp +++ b/src/share/ob_upgrade_utils.cpp @@ -30,39 +30,8 @@ using namespace rootserver; namespace share { #define CALC_CLUSTER_VERSION(major, minor, patch) (((major) << 32) + ((minor) << 16) + (patch)) const uint64_t ObUpgradeChecker::UPGRADE_PATH[CLUTER_VERSION_NUM] = { - CALC_CLUSTER_VERSION(1UL, 4UL, 3UL), // 1.4.3 - CALC_CLUSTER_VERSION(1UL, 4UL, 40UL), // 1.4.40 - CALC_CLUSTER_VERSION(1UL, 4UL, 50UL), // 1.4.50 - CALC_CLUSTER_VERSION(1UL, 4UL, 51UL), // 1.4.51 - CALC_CLUSTER_VERSION(1UL, 4UL, 60UL), // 1.4.60 - CALC_CLUSTER_VERSION(1UL, 4UL, 61UL), // 1.4.61 - CALC_CLUSTER_VERSION(1UL, 4UL, 70UL), // 1.4.70 - CALC_CLUSTER_VERSION(1UL, 4UL, 71UL), // 1.4.71 - CALC_CLUSTER_VERSION(1UL, 4UL, 72UL), // 1.4.72 - CALC_CLUSTER_VERSION(1UL, 4UL, 76UL), // 1.4.76 - CALC_CLUSTER_VERSION(2UL, 0UL, 0UL), // 2.0.0 - CALC_CLUSTER_VERSION(2UL, 1UL, 0UL), // 2.1.0 - CALC_CLUSTER_VERSION(2UL, 1UL, 1UL), // 2.1.1 - CALC_CLUSTER_VERSION(2UL, 1UL, 11UL), // 2.1.11 - CALC_CLUSTER_VERSION(2UL, 1UL, 20UL), // 2.1.20 - CALC_CLUSTER_VERSION(2UL, 1UL, 30UL), // 2.1.30 - CALC_CLUSTER_VERSION(2UL, 1UL, 31UL), // 2.1.31 - CALC_CLUSTER_VERSION(2UL, 2UL, 0UL), // 2.2.0 - CALC_CLUSTER_VERSION(2UL, 2UL, 1UL), // 2.2.1 - CALC_CLUSTER_VERSION(2UL, 2UL, 20UL), // 2.2.20 - CALC_CLUSTER_VERSION(2UL, 2UL, 30UL), // 2.2.30 - CALC_CLUSTER_VERSION(2UL, 2UL, 40UL), // 2.2.40 - CALC_CLUSTER_VERSION(2UL, 2UL, 50UL), // 2.2.50 - CALC_CLUSTER_VERSION(2UL, 2UL, 60UL), // 2.2.60 - CALC_CLUSTER_VERSION(2UL, 2UL, 70UL), // 2.2.70 - CALC_CLUSTER_VERSION(2UL, 2UL, 71UL), // 2.2.71 - CALC_CLUSTER_VERSION(2UL, 2UL, 72UL), // 2.2.72 - CALC_CLUSTER_VERSION(2UL, 2UL, 73UL), // 2.2.73 - CALC_CLUSTER_VERSION(2UL, 2UL, 74UL), // 2.2.74 - CALC_CLUSTER_VERSION(2UL, 2UL, 75UL), // 2.2.75 - CALC_CLUSTER_VERSION(2UL, 2UL, 76UL), // 2.2.76 - CALC_CLUSTER_VERSION(3UL, 1UL, 0UL), // 3.1.0 - CALC_CLUSTER_VERSION(3UL, 1UL, 1UL) //3.1.1 + CALC_CLUSTER_VERSION(3UL, 1UL, 1UL), //3.1.1 + CALC_CLUSTER_VERSION(3UL, 1UL, 2UL) //3.1.2 }; bool ObUpgradeChecker::check_cluster_version_exist(const uint64_t version) @@ -1117,16 +1086,8 @@ int ObUpgradeProcesserSet::init(ObBaseUpgradeProcessor::UpgradeMode mode, common } \ } // order by cluster version asc - INIT_PROCESSOR_BY_VERSION(2, 2, 60); - INIT_PROCESSOR_BY_VERSION(2, 2, 70); - INIT_PROCESSOR_BY_VERSION(2, 2, 71); - INIT_PROCESSOR_BY_VERSION(2, 2, 72); - INIT_PROCESSOR_BY_VERSION(2, 2, 73); - INIT_PROCESSOR_BY_VERSION(2, 2, 74); - INIT_PROCESSOR_BY_VERSION(2, 2, 75); - INIT_PROCESSOR_BY_VERSION(2, 2, 76); - INIT_PROCESSOR_BY_VERSION(3, 1, 0); INIT_PROCESSOR_BY_VERSION(3, 1, 1); + INIT_PROCESSOR_BY_VERSION(3, 1, 2); #undef INIT_PROCESSOR_BY_VERSION inited_ = true; } diff --git a/src/share/ob_upgrade_utils.h b/src/share/ob_upgrade_utils.h index 975b9c174b16c3acab8f366c20d957d1405ba97c..73618735470df205b892ce9da15982ea6c658f30 100644 --- a/src/share/ob_upgrade_utils.h +++ b/src/share/ob_upgrade_utils.h @@ -181,7 +181,7 @@ public: static bool check_cluster_version_exist(const uint64_t version); public: - static const int64_t CLUTER_VERSION_NUM = 33; + static const int64_t CLUTER_VERSION_NUM = 2; static const uint64_t UPGRADE_PATH[CLUTER_VERSION_NUM]; }; @@ -231,6 +231,7 @@ DEF_SIMPLE_UPGRARD_PROCESSER(2, 2, 76); // 3.1.0 DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 0); DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 1); +DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 2); /* =========== upgrade processor end ============= */ diff --git a/src/share/parameter/ob_parameter_seed.ipp b/src/share/parameter/ob_parameter_seed.ipp index 93bef9e2fc28349c71d95251ac1ee5266a8be3e6..27160a84a948b460494aa149850d480ea2b197c5 100644 --- a/src/share/parameter/ob_parameter_seed.ipp +++ b/src/share/parameter/ob_parameter_seed.ipp @@ -275,7 +275,6 @@ DEF_BOOL(_enable_static_typing_engine, OB_CLUSTER_PARAMETER, "True", "specifies whether static typing sql execution engine is activated", ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE)); -// https://yuque.antfin-inc.com/ob/product_functionality_review/zlp56c DEF_BOOL(_enable_defensive_check, OB_CLUSTER_PARAMETER, "True", "specifies whether allow to do some defensive checks when the query is executed", ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE)); @@ -519,7 +518,7 @@ DEF_TIME(get_leader_candidate_rpc_timeout, OB_CLUSTER_PARAMETER, "9s", "[2s, 180 "the time during a get leader candidate rpc request " "is permitted to execute before it is terminated. Range: [2s, 180s]", ObParameterAttr(Section::ROOT_SERVICE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE)); -DEF_STR(min_observer_version, OB_CLUSTER_PARAMETER, "3.1.1", "the min observer version", +DEF_STR(min_observer_version, OB_CLUSTER_PARAMETER, "3.1.2", "the min observer version", ObParameterAttr(Section::ROOT_SERVICE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE)); DEF_BOOL(enable_ddl, OB_CLUSTER_PARAMETER, "True", "specifies whether DDL operation is turned on. " diff --git a/src/share/system_variable/gen_ob_sys_variables.py b/src/share/system_variable/gen_ob_sys_variables.py new file mode 100755 index 0000000000000000000000000000000000000000..6cd5183548767d8544cfca27b6e1485450e42749 --- /dev/null +++ b/src/share/system_variable/gen_ob_sys_variables.py @@ -0,0 +1,999 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import json +import os +import stat +import shutil +import sys + +VARCHAR = "varchar" +INT = "int" +UINT = "uint" +TINY = "tinyint" +BOOL = "bool" +NUMERIC = "numeric" +ENUM = "enum" + +# `ob_max_sys_var_id`表示当前版本预分配的可以使用的system var id的最大值, +# 系统会根据ob_max_sys_var_id的值预分配sys var id -> sys var的映射数组,不能将其随意调大, +# 如果需要分配的系统变量的sys var id必须大于`ob_max_sys_var_id`,需要将`ob_max_sys_var_id`调大 +ob_max_sys_var_id = 20000 + +flag_dict = {} +flag_dict["GLOBAL"] = "GLOBAL_SCOPE" +flag_dict["SESSION"] = "SESSION_SCOPE" +flag_dict["READONLY"] = "READONLY" +flag_dict["READ"] = "READONLY" +flag_dict["SESSION_READONLY"] = "SESSION_READONLY" +flag_dict["INVISIBLE"] = "INVISIBLE" +flag_dict["NULL"] = "NULLABLE" +flag_dict["NULLABLE"] = "NULLABLE" +flag_dict["INFLUENCE_PLAN"] = "INFLUENCE_PLAN" +flag_dict["NEED_SERIALIZE"] = "NEED_SERIALIZE" +flag_dict["QUERY_SENSITIVE"] = "QUERY_SENSITIVE" +flag_dict["ORACLE_ONLY"] = "ORACLE_ONLY" +flag_dict["WITH_CREATE"] = "WITH_CREATE" +flag_dict["WITH_UPGRADE"] = "WITH_UPGRADE" +flag_dict["MYSQL_ONLY"] = "MYSQL_ONLY" + +flag_value_dict = {} +flag_value_dict["GLOBAL"] = 1L +flag_value_dict["SESSION"] = (1L << 1) +flag_value_dict["READONLY"] = (1L << 2) +flag_value_dict["SESSION_READONLY"] = (1L << 3) +flag_value_dict["INVISIBLE"] = (1L << 4) +flag_value_dict["NULL"] = (1L << 5) +flag_value_dict["NULLABLE"] = (1L << 5) +flag_value_dict["INFLUENCE_PLAN"] = (1L << 6) +flag_value_dict["NEED_SERIALIZE"] = (1L << 7) +flag_value_dict["QUERY_SENSITIVE"] = (1L << 8) +flag_value_dict["ORACLE_ONLY"] = (1L << 9) +flag_value_dict["WITH_CREATE"] = (1L << 10) +flag_value_dict["WITH_UPGRADE"] = (1L << 11) +flag_value_dict["MYSQL_ONLY"] = (1L << 12) + +type_dict = {} +type_dict["tinyint"] = "ObTinyIntType" +type_dict["int"] = "ObIntType" +type_dict["uint"] = "ObUInt64Type" +type_dict["numeric"] = "ObNumberType" +type_dict["varchar"] = "ObVarcharType" +type_dict["bool"] = "ObIntType" # FIXME: tinyint? +type_dict["enum"] = "ObIntType" + +# 这个映射是建立在ObObjType的值不改变的前提的,如果ObObjType的值改变,这里也要跟着改 +type_value_dict = {} +type_value_dict["tinyint"] = 1 +type_value_dict["int"] = 5 +type_value_dict["uint"] = 10 +type_value_dict["numeric"] = 15 +type_value_dict["varchar"] = 22 +type_value_dict["bool"] = 5 # FIXME: tinyint? +type_value_dict["enum"] = 5 + +required_attrs = ["publish_version", "info_cn", "background_cn", "ref_url"] +ignored_attrs = ["publish_version", "info_cn", "background_cn", "ref_url"] + +file_head_annotation = """ +/** + * Copyright (c) 2021 OceanBase + * OceanBase CE is licensed under Mulan PubL v2. + * You can use this software according to the terms and conditions of the Mulan PubL v2. + * You may obtain a copy of Mulan PubL v2 at: + * http://license.coscl.org.cn/MulanPubL-2.0 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PubL v2 for more details. + */ + +""" + +def parse_json(json_file_name): + json_file = open(json_file_name,'r') + all_the_vars = json_file.read( ) + json_Dict = json.loads(all_the_vars) + list_sorted_by_name= sorted(json_Dict.iteritems(), key=lambda d:d[0]) + list_sorted_by_id= sorted(json_Dict.iteritems(), key=lambda d:d[1]['id']) + json_file.close() + return (json_Dict, list_sorted_by_name, list_sorted_by_id) + +def make_alias_file(pdir, alias_file_name, sorted_list): + alias_file =open(alias_file_name,'w') + alias_file.write(file_head_annotation); + alias_file.write(""" +/* 此处定义所有系统变量的名字。初始化@see ob_ddl_operation.cpp和ob_basic_session_info.cpp + * @note: 所有OB特有的非mysql的系统变量,都以ob_开头,以区别于mysql系统变量的名字空间。 + * 反之,所有不以ob_开头的系统变量都必须和mysql语义完全兼容。 */ + +""") + suffix_idx = alias_file_name.find(".h") + file_def_str = "OCEANBASE_" + pdir.replace("/", "_").upper() + "_" + alias_file_name[0 : suffix_idx].upper() + "_" + alias_file.write("#ifndef " + file_def_str + "\n"); + alias_file.write("#define " + file_def_str + "\n"); + alias_file.write("namespace oceanbase\n"); + alias_file.write("{\n"); + alias_file.write("namespace share\n"); + alias_file.write("{\n"); + for (name,attributes) in sorted_list: + alias = attributes['name'] + alias_prefix = alias[0:3] + if alias_prefix == str("ob_"): + alias = alias[3:] + alias_upper = alias.upper() + out = " static const char* const OB_SV_" + str(alias_upper) + " = \"" + str(name) + "\";\n" + alias_file.write(out) + + alias_file.write("\n"); + alias_file.write("}\n"); + alias_file.write("}\n"); + alias_file.write("#endif //OCEANBASE_COMMON_OB_SYSTEM_VARIABLE_ALIAS_H_\n"); + alias_file.write("\n"); + + alias_file.close() + print("Generate " + str(alias_file_name) + " successfully!\n"); + return + +def make_head_file(pdir, head_file_name, sorted_list): + head_file = open(head_file_name,'w') + head_file.write(file_head_annotation); + suffix_idx = head_file_name.find(".h") + file_def_str = "OCEANBASE_" + pdir.replace("/", "_").upper() + "_" + head_file_name[0 : suffix_idx].upper() + "_" + head_file.write("#ifndef " + file_def_str + "\n"); + head_file.write("#define " + file_def_str + "\n"); + head_file.write("#include \"share/system_variable/ob_sys_var_class_type.h\"\n"); + head_file.write("#include \n"); + head_file.write("#include \"common/object/ob_object.h\"\n"); + head_file.write("namespace oceanbase\n"); + head_file.write("{\n"); + head_file.write("namespace share\n"); + head_file.write("{\n"); + head_file.write("// ObSysVarFlag的值不可随意增删改, 有任何增删改要同时同步到sql/session/gen_ob_sys_variables.py的flag_value_dict变量中\n"); + head_file.write("struct ObSysVarFlag\n"); + head_file.write("{\n"); + head_file.write(" const static int64_t NONE = 0LL;\n"); + head_file.write(" const static int64_t GLOBAL_SCOPE = 1LL;\n"); + head_file.write(" const static int64_t SESSION_SCOPE = (1LL << 1);\n"); + head_file.write(" const static int64_t READONLY = (1LL << 2);\n"); + head_file.write(" const static int64_t SESSION_READONLY = (1LL << 3);\n"); + head_file.write(" const static int64_t INVISIBLE = (1LL << 4);\n"); + head_file.write(" const static int64_t NULLABLE = (1LL << 5);\n"); + head_file.write(" const static int64_t INFLUENCE_PLAN = (1LL << 6);\n"); + head_file.write(" const static int64_t NEED_SERIALIZE = (1LL << 7);\n"); + head_file.write(" const static int64_t QUERY_SENSITIVE = (1LL << 8);\n"); + head_file.write(" const static int64_t ORACLE_ONLY = (1LL << 9);\n"); + head_file.write(" const static int64_t WITH_CREATE = (1LL << 10);\n"); + head_file.write(" const static int64_t WITH_UPGRADE = (1LL << 11);\n"); + head_file.write(" const static int64_t MYSQL_ONLY = (1LL << 12);\n"); + head_file.write("};\n"); + head_file.write("struct ObSysVarFromJson{\n"); + head_file.write(" ObSysVarClassType id_;\n"); + head_file.write(" common::ObString name_;\n"); + head_file.write(" common::ObObjType data_type_;\n"); + head_file.write(" common::ObString value_;\n"); + head_file.write(" common::ObString min_val_;\n"); + head_file.write(" common::ObString max_val_;\n"); + head_file.write(" common::ObString enum_names_;\n"); + head_file.write(" common::ObString info_;\n"); + head_file.write(" int64_t flags_;\n"); + head_file.write(" common::ObString alias_;\n"); + head_file.write(" common::ObString base_class_;\n"); + head_file.write(" common::ObString on_check_and_convert_func_;\n"); + head_file.write(" common::ObString on_update_func_;\n"); + head_file.write(" common::ObString to_select_obj_func_;\n"); + head_file.write(" common::ObString to_show_str_func_;\n"); + head_file.write(" common::ObString get_meta_type_func_;\n"); + head_file.write(" common::ObString session_special_update_func_;\n"); + head_file.write("\n"); + head_file.write(" ObSysVarFromJson():id_(SYS_VAR_INVALID), name_(\"\"), data_type_(common::ObNullType), value_(\"\"), min_val_(\"\"), max_val_(\"\"), enum_names_(\"\"), info_(\"\"), flags_(ObSysVarFlag::NONE), alias_(\"\"), base_class_(\"\"), on_check_and_convert_func_(""), on_update_func_(""), to_select_obj_func_(""), to_show_str_func_(""), get_meta_type_func_(""), session_special_update_func_("") {}\n"); + head_file.write("};\n"); + head_file.write("\n"); + head_file.write("class ObSysVariables\n"); + head_file.write("{\n"); + head_file.write("public:\n"); + head_file.write(" static int64_t get_all_sys_var_count();\n"); + head_file.write(" static ObSysVarClassType get_sys_var_id(int64_t i);\n"); + head_file.write(" static common::ObString get_name(int64_t i);\n"); + head_file.write(" static common::ObObjType get_type(int64_t i);\n"); + head_file.write(" static common::ObString get_value(int64_t i);\n"); + head_file.write(" static common::ObString get_min(int64_t i);\n"); + head_file.write(" static common::ObString get_max(int64_t i);\n"); + head_file.write(" static common::ObString get_info(int64_t i);\n"); + head_file.write(" static int64_t get_flags(int64_t i);\n"); + head_file.write(" static bool need_serialize(int64_t i);\n"); + head_file.write(" static bool is_oracle_only(int64_t i);\n"); + head_file.write(" static bool is_mysql_only(int64_t i);\n"); + head_file.write(" static common::ObString get_alias(int64_t i);\n"); + head_file.write(" static const common::ObObj &get_default_value(int64_t i);\n") + head_file.write(" static int64_t get_amount();\n"); + head_file.write(" static int set_value(const char *name, const char * new_value);\n"); + head_file.write(" static int set_value(const common::ObString &name, const common::ObString &new_value);\n"); + head_file.write(" static int init_default_values();\n"); + head_file.write("};\n"); + head_file.write("\n"); + head_file.write("class ObSysVarsToIdxMap\n"); + head_file.write("{\n"); + head_file.write("public:\n"); + head_file.write(" static int64_t get_store_idx(int64_t var_id);\n"); + head_file.write(" static bool has_invalid_sys_var_id();\n"); + head_file.write("};\n"); + + head_file.write("\n"); + head_file.write("} // end namespace share\n"); + head_file.write("} // end namespace oceanbase\n"); + head_file.write("\n"); + head_file.write("#endif /* " + file_def_str + " */\n"); + + head_file.close( ) + print("Generate " + str(head_file_name) + " successfully!\n"); + return + +def make_flags_value(flags): + value = "" + flags = flags.split("|") + for i in range(0, len(flags)): + value += ("ObSysVarFlag::" + flag_dict[flags[i].strip().upper()]) + if (i != len(flags) - 1): + value += " | " + return value + +def make_type_value(type): + return type_dict[type.strip()] + +def make_cpp_file(pdir, cpp_file_name, sorted_list): + cpp_file = open(cpp_file_name,'w') + cpp_file.write(file_head_annotation) + cpp_file.write("#define USING_LOG_PREFIX SHARE\n") + cpp_file.write("#include \"" + pdir + "/" + cpp_file_name.replace(".cpp", ".h") + "\"\n") + cpp_file.write("#include \"share/system_variable/ob_system_variable_factory.h\"\n") + cpp_file.write("#include \"share/object/ob_obj_cast.h\"\n") + cpp_file.write("#include \"common/expression/ob_expr_string_buf.h\"\n") + cpp_file.write("#include \"common/expression/ob_expr_string_buf.h\"\n") + cpp_file.write("using namespace oceanbase::common;\n"); + cpp_file.write("\n") + cpp_file.write("namespace oceanbase\n"); + cpp_file.write("{\n"); + cpp_file.write("namespace share\n"); + cpp_file.write("{\n"); + cpp_file.write("static ObSysVarFromJson ObSysVars[ObSysVarFactory::ALL_SYS_VARS_COUNT];\n") + cpp_file.write("static ObObj ObSysVarDefaultValues[ObSysVarFactory::ALL_SYS_VARS_COUNT];\n") + cpp_file.write("static ObArenaAllocator ObSysVarAllocator(ObModIds::OB_COMMON_SYS_VAR_DEFAULT_VALUE);\n") + cpp_file.write("static int64_t ObSysVarsIdToArrayIdx[ObSysVarFactory::OB_MAX_SYS_VAR_ID];\n") + cpp_file.write("// VarsInit中需要判断当前最大的SysVars对应的id,是否大于OB_MAX_SYS_VAR_ID\n") + cpp_file.write("// 如果大于OB_MAX_SYS_VAR_ID表示存在无效的SysVarsId\n") + cpp_file.write("static bool HasInvalidSysVar = false;\n") + + cpp_file.write("\n") + cpp_file.write("static struct VarsInit{\n") + cpp_file.write(" VarsInit(){\n") + + var_num = 0 + cpp_file.write(" // 保存当前系统变量的最大的id\n") + cpp_file.write(" int64_t cur_max_var_id = 0;\n") + cpp_file.write(" // ObSysVarsIdToArrayIdx数组默认初始值为-1,-1表示无效索引\n") + cpp_file.write(" memset(ObSysVarsIdToArrayIdx, -1, sizeof(ObSysVarsIdToArrayIdx));\n") + for (name,attributes) in sorted_list: + for required_attr in required_attrs: + if required_attr not in attributes: + sys.exit("attribute '" + str(required_attr) + "' is required for item '" + str(name) + "'") + for (attribute_key, attribute_value) in attributes.items(): + if attribute_value == " ": + attribute_value = str("") + if attribute_key in ignored_attrs: + continue + elif attribute_key == "id": + out = " ObSysVars[" + str(var_num) + "]." + str(attribute_key) + "_ = SYS_VAR_" + str(name).upper() + " ;\n" + elif attribute_key == "flags": + out = " ObSysVars[" + str(var_num) + "]." + str(attribute_key) + "_ = " + make_flags_value(attribute_value) + " ;\n" + elif attribute_key == "data_type": + out = " ObSysVars[" + str(var_num) + "]." + str(attribute_key) + "_ = " + make_type_value(attribute_value) + " ;\n" + else: + out = " ObSysVars[" + str(var_num) + "]." + str(attribute_key) + "_ = \"" + str(attribute_value) + "\" ;\n" + cpp_file.write(out) + if attribute_key == "id": + out = " cur_max_var_id = MAX(cur_max_var_id, "+"static_cast(SYS_VAR_" + str(name).upper()+")"+") ;\n" + cpp_file.write(out) + out = " ObSysVarsIdToArrayIdx[" + "SYS_VAR_" + str(name).upper() + "] = " + str(var_num) + " ;\n" + cpp_file.write(out) + alias = attributes['name'] + alias_prefix = alias[0:3] + if alias_prefix == str("ob_"): + alias = alias[3:] + alias_upper = alias.upper() + out = " ObSysVars[" + str(var_num) + "].alias_ = \"OB_SV_" + str(alias_upper) + "\" ;\n" + cpp_file.write(out) + cpp_file.write("\n") + var_num += 1 + + cpp_file.write(" if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) { \n") + cpp_file.write(" HasInvalidSysVar = true;\n") + cpp_file.write(" }\n") + cpp_file.write(" }\n") + cpp_file.write("}vars_init;\n") + cpp_file.write("\n") + cpp_file.write("static int64_t var_amount = " + str(var_num) + ";" + "\n") + cpp_file.write("\n") + cpp_file.write("int64_t ObSysVariables::get_all_sys_var_count(){ return ObSysVarFactory::ALL_SYS_VARS_COUNT;}\n") + cpp_file.write("ObSysVarClassType ObSysVariables::get_sys_var_id(int64_t i){ return ObSysVars[i].id_;}\n") + cpp_file.write("ObString ObSysVariables::get_name(int64_t i){ return ObSysVars[i].name_;}\n") + cpp_file.write("ObObjType ObSysVariables::get_type(int64_t i){ return ObSysVars[i].data_type_;}\n") + cpp_file.write("ObString ObSysVariables::get_value(int64_t i){ return ObSysVars[i].value_;}\n") + cpp_file.write("ObString ObSysVariables::get_min(int64_t i){ return ObSysVars[i].min_val_;}\n") + cpp_file.write("ObString ObSysVariables::get_max(int64_t i){ return ObSysVars[i].max_val_;}\n") + cpp_file.write("ObString ObSysVariables::get_info(int64_t i){ return ObSysVars[i].info_;}\n") + cpp_file.write("int64_t ObSysVariables::get_flags(int64_t i){ return ObSysVars[i].flags_;}\n") + cpp_file.write("bool ObSysVariables::need_serialize(int64_t i){ return ObSysVars[i].flags_ & ObSysVarFlag::NEED_SERIALIZE;}\n") + cpp_file.write("bool ObSysVariables::is_oracle_only(int64_t i){ return ObSysVars[i].flags_ & ObSysVarFlag::ORACLE_ONLY;}\n") + cpp_file.write("bool ObSysVariables::is_mysql_only(int64_t i){ return ObSysVars[i].flags_ & ObSysVarFlag::MYSQL_ONLY;}\n") + cpp_file.write("ObString ObSysVariables::get_alias(int64_t i){ return ObSysVars[i].alias_;}\n") + cpp_file.write("const ObObj &ObSysVariables::get_default_value(int64_t i){ return ObSysVarDefaultValues[i];}\n") + cpp_file.write("int64_t ObSysVariables::get_amount(){ return var_amount;}\n") + cpp_file.write("\n") + cpp_file.write("int ObSysVariables::set_value(const char *name, const char * new_value)\n") + cpp_file.write("{\n") + cpp_file.write(" ObString tmp_name(static_cast(strlen(name)), name);\n") + cpp_file.write(" ObString tmp_value(static_cast(strlen(new_value)), new_value);\n") + cpp_file.write(" return set_value(tmp_name, tmp_value);\n") + cpp_file.write("}\n") + cpp_file.write("int ObSysVariables::set_value(const common::ObString &name, const common::ObString &new_value)\n") + cpp_file.write("{\n") + cpp_file.write(" int ret = OB_SUCCESS;\n") + cpp_file.write(" bool name_exist = false;\n") + cpp_file.write(" for (int64_t i = 0; OB_SUCC(ret) && false == name_exist && i < var_amount; ++i){\n") + cpp_file.write(" if (0 == ObSysVars[i].name_.compare(name)) {\n") + cpp_file.write(" ObSysVars[i].value_.assign_ptr(new_value.ptr(), new_value.length());\n") + cpp_file.write(" name_exist = true;\n") + cpp_file.write(" }\n") + cpp_file.write(" }\n") + cpp_file.write(" if (OB_SUCC(ret)) {\n") + cpp_file.write(" if (false == name_exist) {\n") + cpp_file.write(" ret = OB_ENTRY_NOT_EXIST;\n") + cpp_file.write(" }\n") + cpp_file.write(" }\n") + cpp_file.write(" return ret;\n") + cpp_file.write("}\n") + cpp_file.write(""" +int ObSysVariables::init_default_values() +{ + int ret = OB_SUCCESS; + int64_t sys_var_count = get_amount(); + for (int64_t i = 0; OB_SUCC(ret) && i < sys_var_count; ++i) { + const ObString &sys_var_val_str = ObSysVariables::get_value(i); + const ObObjType sys_var_type = ObSysVariables::get_type(i); + if (OB_UNLIKELY(sys_var_type == ObTimestampType)) { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("need tz_info when cast to timestamp", K(ret), K(sys_var_val_str)); + } else { + ObObj in_obj; + ObObj out_obj; + in_obj.set_varchar(sys_var_val_str); + in_obj.set_collation_type(CS_TYPE_UTF8MB4_GENERAL_CI); + //varchar to others. so, no need to get collation from session + ObCastCtx cast_ctx(&ObSysVarAllocator, + NULL, + 0, + CM_NONE, + CS_TYPE_INVALID, + NULL); + if (OB_FAIL(ObObjCaster::to_type(sys_var_type, cast_ctx, in_obj, out_obj))) { + ObString sys_var_name = ObSysVariables::get_name(i); + LOG_WARN("fail to cast object", + K(ret), "cell", in_obj, "from_type", ob_obj_type_str(in_obj.get_type()), + "to_type", ob_obj_type_str(sys_var_type), K(sys_var_name), K(i)); + } else { + if (ob_is_string_type(out_obj.get_type())) { + out_obj.set_collation_level(CS_LEVEL_SYSCONST); + } + ObSysVarDefaultValues[i] = out_obj; + } + } + } + return ret; +} +""") + cpp_file.write("\n") + cpp_file.write("int64_t ObSysVarsToIdxMap::get_store_idx(int64_t var_id){ return ObSysVarsIdToArrayIdx[var_id];}\n") + cpp_file.write("bool ObSysVarsToIdxMap::has_invalid_sys_var_id(){ return HasInvalidSysVar;}\n") + cpp_file.write("\n") + cpp_file.write("} // end namespace share\n") + cpp_file.write("} // end namespace oceanbase\n") + cpp_file.write("\n") + + cpp_file.close( ) + print("Generate " + str(cpp_file_name) + " successfully! Including " + str(var_num) + " system variables. \n") + return + +def write_sys_var_class_types(wfile, sorted_list): + wfile.write("enum ObSysVarClassType\n{\n") + wfile.write(" SYS_VAR_INVALID = -1,\n") + for (name, attributes) in sorted_list: + wfile.write(" SYS_VAR_" + str(name).upper() + " = " + str(attributes['id']) + ",\n") + wfile.write("};\n") + +def write_sys_var_classes(wfile, sorted_list): + idx = 0 + for (name, attributes) in sorted_list: + write_sys_var_class(\ + wfile, idx, str(name), \ + attributes["data_type"], \ + attributes["base_class"] if "base_class" in attributes.keys() else None, \ + attributes["on_check_and_convert_func"] if "on_check_and_convert_func" in attributes.keys() else None, \ + attributes["on_update_func"] if "on_update_func" in attributes.keys() else None, \ + attributes["to_select_obj_func"] if "to_select_obj_func" in attributes.keys() else None, \ + attributes["to_show_str_func"] if "to_show_str_func" in attributes.keys() else None, \ + attributes["get_meta_type_func"] if "get_meta_type_func" in attributes.keys() else None, \ + attributes["session_special_update_func"] if "session_special_update_func" in attributes.keys() else None) + idx += 1 + +def write_sys_var_fac_class(wfile, sorted_list): + mysql_sys_var_names_count = 0 + ob_sys_var_names_count = 0 + for (name, attributes) in sorted_list: + if attributes['id'] < 10000: + mysql_sys_var_names_count += 1 + else: + ob_sys_var_names_count += 1 + wfile.write(""" +class ObSysVarFactory +{ +public: + ObSysVarFactory(); + virtual ~ObSysVarFactory(); + void destroy(); + int create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar *&sys_var); + int create_all_sys_vars(); + int free_sys_var(ObBasicSysVar *sys_var, int64_t sys_var_idx); + static int calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_t &store_idx); + static int calc_sys_var_store_idx_by_name(const common::ObString &sys_var_name, int64_t &store_idx); + static bool is_valid_sys_var_store_idx(int64_t store_idx); + static ObSysVarClassType find_sys_var_id_by_name(const common::ObString &sys_var_name, bool is_from_sys_table = false); //二分查找 + static int get_sys_var_name_by_id(ObSysVarClassType sys_var_id, common::ObString &sys_var_name); + static const common::ObString get_sys_var_name_by_id(ObSysVarClassType sys_var_id); + + const static int64_t MYSQL_SYS_VARS_COUNT = """) + wfile.write(str(mysql_sys_var_names_count) + ";") + wfile.write(""" + const static int64_t OB_SYS_VARS_COUNT = """) + wfile.write(str(ob_sys_var_names_count) + ";") + wfile.write(""" + const static int64_t ALL_SYS_VARS_COUNT = MYSQL_SYS_VARS_COUNT + OB_SYS_VARS_COUNT; + + const static int16_t OB_SPECIFIC_SYS_VAR_ID_OFFSET = 10000; + // 表示当前OB能够使用的sys var id的最大值,正常情况下,不需要申请大于OB_MAX_SYS_VAR_ID的sys var id, + // 如果需要申请大于OB_MAX_SYS_VAR_ID的sys var id,需要先调整ob_max_sys_var_id的值 + const static int32_t OB_MAX_SYS_VAR_ID = """) + wfile.write(str(ob_max_sys_var_id) + ";") + wfile.write(""" + +private: + static bool sys_var_name_case_cmp(const char *name1, const common::ObString &name2); + const static char *SYS_VAR_NAMES_SORTED_BY_NAME[ALL_SYS_VARS_COUNT]; + const static ObSysVarClassType SYS_VAR_IDS_SORTED_BY_NAME[ALL_SYS_VARS_COUNT]; + const static char *SYS_VAR_NAMES_SORTED_BY_ID[ALL_SYS_VARS_COUNT]; + common::ObArenaAllocator allocator_; + ObBasicSysVar *store_[ALL_SYS_VARS_COUNT]; + ObBasicSysVar *store_buf_[ALL_SYS_VARS_COUNT]; + bool all_sys_vars_created_; +}; +""") + +def write_sys_var_class(wfile, idx, sys_var_name, data_type, base_class, \ + on_check_and_convert_func, on_update_func, to_select_obj_func, \ + to_show_str_func, get_meta_type_func, session_special_update_func): + name_segs = sys_var_name.split("_") + sys_var_cls_name = "ObSysVar" + for name_seg in name_segs: + sys_var_cls_name += name_seg.capitalize() + base_cls_name = "invalid" + if base_class is not None: + base_cls_name = base_class + elif VARCHAR == data_type: + base_cls_name = "ObVarcharSysVar" + elif INT == data_type: + base_cls_name = "ObIntSysVar" + elif UINT == data_type: + base_cls_name = "ObIntSysVar" + elif TINY == data_type: + base_cls_name = "ObTinyintSysVar" + elif BOOL == data_type: + base_cls_name = "ObBoolSysVar" + elif NUMERIC == data_type: + base_cls_name = "ObNumericSysVar" + elif ENUM == data_type: + base_cls_name = "ObEnumSysVar" + + wfile.write("class " + sys_var_cls_name + " : public " + base_cls_name + "\n") + wfile.write("{\n"); + if ENUM == data_type: + enum_name = sys_var_name.upper(); + enum_name += "_NAMES" + wfile.write("public:\n"); + wfile.write(" const static char * " + enum_name + "[];\n"); + wfile.write("public:\n"); + if base_cls_name == "ObEnumSysVar": + wfile.write(" " + sys_var_cls_name + "() : " + base_cls_name + "(" + enum_name \ + + ", " + ("NULL" if on_check_and_convert_func is None else on_check_and_convert_func) \ + + ", " + ("NULL" if on_update_func is None else on_update_func) \ + + ", " + ("NULL" if to_select_obj_func is None else to_select_obj_func) \ + + ", " + ("NULL" if to_show_str_func is None else to_show_str_func) \ + + ", " + ("NULL" if get_meta_type_func is None else get_meta_type_func) \ + + ") {}\n") + elif base_cls_name == "ObSessionSpecialIntSysVar": + wfile.write(" " + sys_var_cls_name + "() : " + base_cls_name + "(" \ + + ("NULL" if on_check_and_convert_func is None else on_check_and_convert_func) \ + + ", " + ("NULL" if session_special_update_func is None else session_special_update_func) \ + + ", " + ("NULL" if to_select_obj_func is None else to_select_obj_func) \ + + ", " + ("NULL" if to_show_str_func is None else to_show_str_func) \ + + ", " + ("NULL" if get_meta_type_func is None else get_meta_type_func) \ + + ") {}\n") + elif base_cls_name == "ObSessionSpecialVarcharSysVar": + wfile.write(" " + sys_var_cls_name + "() : " + base_cls_name + "(" \ + + ("NULL" if on_check_and_convert_func is None else on_check_and_convert_func) \ + + ", " + ("NULL" if on_update_func is None else on_update_func) \ + + ", " + ("NULL" if session_special_update_func is None else session_special_update_func) \ + + ", " + ("NULL" if to_select_obj_func is None else to_select_obj_func) \ + + ", " + ("NULL" if to_show_str_func is None else to_show_str_func) \ + + ", " + ("NULL" if get_meta_type_func is None else get_meta_type_func) \ + + ") {}\n") + elif base_cls_name == "ObSessionSpecialBoolSysVar": + wfile.write(" " + sys_var_cls_name + "() : " + base_cls_name + "(" \ + + ("NULL" if on_check_and_convert_func is None else on_check_and_convert_func) \ + + ", " + ("NULL" if on_update_func is None else on_update_func) \ + + ", " + ("NULL" if session_special_update_func is None else session_special_update_func) \ + + ", " + ("NULL" if to_select_obj_func is None else to_select_obj_func) \ + + ", " + ("NULL" if to_show_str_func is None else to_show_str_func) \ + + ", " + ("NULL" if get_meta_type_func is None else get_meta_type_func) \ + + ") {}\n") + else: + wfile.write(" " + sys_var_cls_name + "() : " + base_cls_name + "(" \ + + ("NULL" if on_check_and_convert_func is None else on_check_and_convert_func) \ + + ", " + ("NULL" if on_update_func is None else on_update_func) \ + + ", " + ("NULL" if to_select_obj_func is None else to_select_obj_func) \ + + ", " + ("NULL" if to_show_str_func is None else to_show_str_func) \ + + ", " + ("NULL" if get_meta_type_func is None else get_meta_type_func) \ + + ") {}\n") + wfile.write(" inline virtual ObSysVarClassType get_type() const { return SYS_VAR_" + sys_var_name.upper() + "; }\n") + wfile.write(" inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(" + str(idx) + "); }\n") + wfile.write("};\n"); + +def make_sys_var_class_type_h(pdir, filename, sorted_list): + wfile = open(filename, 'w') + wfile.write(file_head_annotation); + suffix_idx = filename.find(".h") + file_def_str = "OCEANBASE_" + pdir.replace("/", "_").upper() + "_" + filename[0 : suffix_idx].upper() + "_" + wfile.write("#ifndef " + file_def_str + "\n") + wfile.write("#define " + file_def_str + "\n") + wfile.write("#include \n") + wfile.write(""" +namespace oceanbase +{ +namespace share +{ +""") + write_sys_var_class_types(wfile, sorted_list) + wfile.write(""" +} +} +""") + wfile.write("#endif //" + file_def_str) + print("Generate " + str(filename) + " successfully!\n"); + +def make_sys_var_h(pdir, filename, sorted_list): + wfile = open(filename, 'w') + wfile.write(file_head_annotation); + suffix_idx = filename.find(".h") + file_def_str = "OCEANBASE_" + pdir.replace("/", "_").upper() + "_" + filename[0 : suffix_idx].upper() + "_" + wfile.write("#ifndef " + file_def_str + "\n") + wfile.write("#define " + file_def_str + "\n") + wfile.write("#include \"common/object/ob_object.h\"\n") + wfile.write("#include \"share/system_variable/ob_system_variable.h\"\n") + wfile.write("#include \"share/system_variable/ob_system_variable_init.h\"\n") + wfile.write("#include \"lib/allocator/page_arena.h\"\n") + wfile.write("#include \"lib/string/ob_string.h\"\n"); + wfile.write("#include \"lib/container/ob_array.h\"\n") + wfile.write(""" +namespace oceanbase +{ +namespace share +{ +""") + write_sys_var_classes(wfile, sorted_list) + wfile.write("\n") + write_sys_var_fac_class(wfile, sorted_list) + wfile.write(""" +} +} +""") + wfile.write("#endif //" + file_def_str) + print("Generate " + str(filename) + " successfully!\n"); + +def make_sys_var_cpp(pdir, filename, list_sorted_by_name, list_sorted_by_id): + wfile = open(filename, 'w') + wfile.write(file_head_annotation); + wfile.write("#define USING_LOG_PREFIX SQL_SESSION\n"); + wfile.write("#include \"share/ob_define.h\"\n") + wfile.write("#include \"" + pdir + "/" + filename.replace(".cpp", ".h") + "\"\n") + # wfile.write("#include \"share/system_variable/ob_system_variable_init.cpp\"\n") + wfile.write("#include \"share/ob_errno.h\"\n") + wfile.write("#include \n") + wfile.write("using namespace oceanbase::common;\n"); + wfile.write(""" +namespace oceanbase +{ +namespace share +{ +""") + for (name, attributes) in list_sorted_by_id: + if ENUM == attributes["data_type"]: + name_segs = str(name).split("_") + sys_var_cls_name = "ObSysVar" + for name_seg in name_segs: + sys_var_cls_name += name_seg.capitalize(); + enum_name = str(name).upper(); + enum_name += "_NAMES"; + wfile.write("const char *" + sys_var_cls_name + "::" + enum_name + "[] = {"); + idx = 0 + for val in attributes["enum_names"]: + if idx > 0: + wfile.write(",") + wfile.write("\n \"" + val + "\"") + idx += 1 + wfile.write(",\n 0\n};\n") + + wfile.write(""" +const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = { +""") + idx = 0 + for (name, attributes) in list_sorted_by_name: + if idx > 0: + wfile.write(",\n") + wfile.write(" \"" + name + "\"") + idx += 1 + wfile.write(""" +}; + +const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = { +""") + idx = 0 + for (name, attributes) in list_sorted_by_name: + if idx > 0: + wfile.write(",\n") + wfile.write(" SYS_VAR_" + str(name).upper()) + idx += 1 + wfile.write(""" +}; + +const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = { +""") + idx = 0 + for (name, attributes) in list_sorted_by_id: + if idx > 0: + wfile.write(",\n") + wfile.write(" \"" + name + "\"") + idx += 1 + wfile.write(""" +}; + +bool ObSysVarFactory::sys_var_name_case_cmp(const char *name1, const ObString &name2) +{ + return name2.case_compare(name1) > 0; +} + +ObSysVarClassType ObSysVarFactory::find_sys_var_id_by_name(const ObString &sys_var_name, + bool is_from_sys_table /*= false*/) +{ + int ret = OB_SUCCESS; + ObSysVarClassType sys_var_id = SYS_VAR_INVALID; + int64_t lower_idx = std::lower_bound(ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME, + ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME + ObSysVarFactory::ALL_SYS_VARS_COUNT, + sys_var_name, ObSysVarFactory::sys_var_name_case_cmp) - + ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME; + if (OB_UNLIKELY(lower_idx < 0)) { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("invalid lower index", K(ret), K(sys_var_name), K(lower_idx), K(lbt())); + } else if (OB_UNLIKELY(lower_idx > ObSysVarFactory::ALL_SYS_VARS_COUNT)) { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("invalid lower index", K(ret), K(sys_var_name), K(lower_idx), + LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), K(lbt())); + } else if (OB_UNLIKELY(ObSysVarFactory::ALL_SYS_VARS_COUNT == lower_idx)) { + // std::lower_bound返回ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME + + // ObSysVarFactory::ALL_SYS_VARS_COUNT的地址,即是找不到,而不是出错 + ret = OB_SEARCH_NOT_FOUND; + } else if (0 != sys_var_name.case_compare( + ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[lower_idx])) { + // 找不到 + ret = OB_SEARCH_NOT_FOUND; + } else { + sys_var_id = ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[lower_idx]; // 找到了 + } + if (OB_UNLIKELY(OB_SEARCH_NOT_FOUND == ret)) { + if (is_from_sys_table) { + LOG_INFO("new system variable is added , so can not found; don't worry", K(sys_var_name), + K(lower_idx), LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), K(lbt())); + } else { + LOG_WARN("sys var name not found", K(sys_var_name), K(lower_idx), + LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), K(lbt())); + } + } + return sys_var_id; +} + +int ObSysVarFactory::calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_t &store_idx) +{ + int ret = OB_SUCCESS; + int64_t real_idx = -1; + int64_t var_id = static_cast(sys_var_id); + if (ObSysVarsToIdxMap::has_invalid_sys_var_id()) { + ret = OB_INVALID_ARGUMENT; + LOG_ERROR("has invalid sys var id", K(ret), K(ObSysVarsToIdxMap::has_invalid_sys_var_id())); + } else if (OB_UNLIKELY(var_id < 0)) { + ret = OB_INVALID_ARGUMENT; + LOG_ERROR("invalid sys var id", K(ret), K(var_id)); + } else { + // 直接利用ObSysVarsIdToArrayIdx 索引数组查询到对应的store idx + real_idx = ObSysVarsToIdxMap::get_store_idx(var_id); + if (real_idx < 0) { + ret = OB_SYS_VARS_MAYBE_DIFF_VERSION; + LOG_WARN("invalid sys var id, maybe sys vars version is different", K(ret), K(var_id), K(real_idx), + LITERAL_K(ObSysVarFactory::OB_SPECIFIC_SYS_VAR_ID_OFFSET), + LITERAL_K(ObSysVarFactory::OB_SYS_VARS_COUNT)); + } + } + + if (OB_FAIL(ret)) { + } else { + store_idx = real_idx; + } + return ret; +} + +int ObSysVarFactory::calc_sys_var_store_idx_by_name(const common::ObString &sys_var_name, + int64_t &store_idx) +{ + int ret = OB_SUCCESS; + ObSysVarClassType sys_var_id = find_sys_var_id_by_name(sys_var_name); + if (OB_FAIL(calc_sys_var_store_idx(sys_var_id, store_idx))) { + LOG_WARN("fail to calc sys var store idx", K(ret), K(sys_var_name), K(lbt())); + } + return ret; +} + +bool ObSysVarFactory::is_valid_sys_var_store_idx(int64_t store_idx) +{ + return 0 <= store_idx && store_idx < ObSysVarFactory::ALL_SYS_VARS_COUNT; +} + +int ObSysVarFactory::get_sys_var_name_by_id(ObSysVarClassType sys_var_id, ObString &sys_var_name) +{ + int ret = OB_SUCCESS; + int64_t store_idx = -1; + if (OB_FAIL(calc_sys_var_store_idx(sys_var_id, store_idx))) { + LOG_WARN("fail to calc sys var store idx", K(ret), K(sys_var_id)); + } else { + sys_var_name = ObString::make_string(ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[store_idx]); + } + return ret; +} + +const ObString ObSysVarFactory::get_sys_var_name_by_id(ObSysVarClassType sys_var_id) +{ + ObString sys_var_name; + int ret = OB_SUCCESS; + if (OB_FAIL(get_sys_var_name_by_id(sys_var_id, sys_var_name))) { + sys_var_name = ObString::make_string("invalid_sys_var_name"); + LOG_WARN("invalid sys var id", K(ret), K(sys_var_id)); + } + return sys_var_name; +} + +ObSysVarFactory::ObSysVarFactory() + : allocator_(ObModIds::OB_COMMON_SYS_VAR_FAC), all_sys_vars_created_(false) +{ + MEMSET(store_, 0, sizeof(store_)); + MEMSET(store_buf_, 0, sizeof(store_buf_)); +} + +ObSysVarFactory::~ObSysVarFactory() +{ + destroy(); +} + +void ObSysVarFactory::destroy() +{ + int ret = OB_SUCCESS; + for (int64_t i = 0; i < ALL_SYS_VARS_COUNT; ++i) { + if (OB_NOT_NULL(store_[i])) { + store_[i]->~ObBasicSysVar(); + store_[i] = nullptr; + } + if (OB_NOT_NULL(store_buf_[i])) { + store_buf_[i]->~ObBasicSysVar(); + store_buf_[i] = nullptr; + } + } + allocator_.reset(); + all_sys_vars_created_ = false; +} + +int ObSysVarFactory::free_sys_var(ObBasicSysVar *sys_var, int64_t sys_var_idx) +{ + int ret = OB_SUCCESS; + OV (OB_NOT_NULL(sys_var)); + OV (is_valid_sys_var_store_idx(sys_var_idx)); + OV (sys_var == store_[sys_var_idx], OB_ERR_UNEXPECTED, sys_var, sys_var_idx); + if (OB_NOT_NULL(store_buf_[sys_var_idx])) { + OX (store_buf_[sys_var_idx]->~ObBasicSysVar()); + OX (allocator_.free(store_buf_[sys_var_idx])); + OX (store_buf_[sys_var_idx] = nullptr); + } + OX (store_buf_[sys_var_idx] = store_[sys_var_idx]); + OX (store_buf_[sys_var_idx]->clean_value()); + OX (store_[sys_var_idx] = nullptr); + return ret; +} + +int ObSysVarFactory::create_all_sys_vars() +{ + int ret = OB_SUCCESS; + if (!all_sys_vars_created_) { + int64_t store_idx = -1; + ObBasicSysVar *sys_var_ptr = NULL; + int64_t total_mem_size = 0 +""") + for (name, attributes) in list_sorted_by_id: + name_segs = name.split("_") + sys_var_cls_name = "ObSysVar" + for name_seg in name_segs: + sys_var_cls_name += name_seg.capitalize() + wfile.write(" + sizeof(" + sys_var_cls_name + ")\n") + wfile.write(" ;\n") + wfile.write(" void *ptr = NULL;\n") + wfile.write(" if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) {\n") + wfile.write(" ret = OB_ALLOCATE_MEMORY_FAILED;\n") + wfile.write(" LOG_ERROR(\"fail to alloc memory\", K(ret));\n") + wfile.write(" } else {\n") + wfile.write(" all_sys_vars_created_ = true;\n") + wfile.write(" }\n") + + for (name, attributes) in list_sorted_by_id: + name_segs = name.split("_") + sys_var_cls_name = "ObSysVar" + for name_seg in name_segs: + sys_var_cls_name += name_seg.capitalize() + wfile.write(" if (OB_SUCC(ret)) {\n") + wfile.write(" if (OB_ISNULL(sys_var_ptr = new (ptr)" + sys_var_cls_name + "())) {\n") + wfile.write(" ret = OB_ALLOCATE_MEMORY_FAILED;\n") + wfile.write(" LOG_ERROR(\"fail to new " + sys_var_cls_name + "\", K(ret));\n") + wfile.write(" } else {\n") + wfile.write(" store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_" + name.upper() + "))] = sys_var_ptr;\n") + wfile.write(" ptr = (void *)((char *)ptr + sizeof(" + sys_var_cls_name + "));\n") + wfile.write(" }\n") + wfile.write(" }\n") + + wfile.write(""" + } + return ret; +} + +int ObSysVarFactory::create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar *&sys_var) +{ + int ret = OB_SUCCESS; + int64_t store_idx = -1; + ObBasicSysVar *sys_var_ptr = NULL; + if (OB_FAIL(calc_sys_var_store_idx(sys_var_id, store_idx))) { + LOG_WARN("fail to calc sys var store idx", K(ret), K(sys_var_id)); + } else if (store_idx < 0 || store_idx >= ALL_SYS_VARS_COUNT) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected store idx", K(ret), K(store_idx), K(sys_var_id)); + } else if (OB_NOT_NULL(store_[store_idx])) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("store ptr shoule be null", K(ret), K(store_idx), K(sys_var_id)); + } else { + if (OB_NOT_NULL(store_buf_[store_idx])) { + sys_var_ptr = store_buf_[store_idx]; + store_buf_[store_idx] = nullptr; + } + } + if (OB_ISNULL(sys_var_ptr)) { + switch(sys_var_id) { +""") + for (name, attributes) in list_sorted_by_id: + name_segs = name.split("_") + sys_var_cls_name = "ObSysVar" + for name_seg in name_segs: + sys_var_cls_name += name_seg.capitalize() + wfile.write(" case SYS_VAR_" + str(name).upper() + ": {\n") + wfile.write(" void *ptr = NULL;\n") + wfile.write(" if (OB_ISNULL(ptr = allocator_.alloc(sizeof(" + sys_var_cls_name + ")))) {\n") + wfile.write(" ret = OB_ALLOCATE_MEMORY_FAILED;\n") + wfile.write(" LOG_ERROR(\"fail to alloc memory\", K(ret), K(sizeof(" + sys_var_cls_name + ")));\n") + wfile.write(" } else if (OB_ISNULL(sys_var_ptr = new (ptr)" + sys_var_cls_name + "())) {\n") + wfile.write(" ret = OB_ALLOCATE_MEMORY_FAILED;\n") + wfile.write(" LOG_ERROR(\"fail to new " + sys_var_cls_name + "\", K(ret));\n") + wfile.write(" }\n") + wfile.write(" break;\n") + wfile.write(" }\n") + wfile.write(""" + default: { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("invalid system variable id", K(ret), K(sys_var_id)); + break; + } + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr)) { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("ret is OB_SUCCESS, but sys_var_ptr is NULL", K(ret), K(sys_var_id)); + } else if (OB_NOT_NULL(store_[store_idx])) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("store_[store_idx] should be NULL", K(ret), K(sys_var_id)); + } else { + store_[store_idx] = sys_var_ptr; + sys_var = sys_var_ptr; + } + } + if (OB_FAIL(ret) && sys_var_ptr != nullptr) { + sys_var_ptr->~ObBasicSysVar(); + sys_var_ptr = NULL; + } + return ret; +} +""") + wfile.write(""" +} +} +""") + print("Generate " + str(filename) + " successfully!\n") + +def calc_flags_from_str(flags_str): + result = 0 + flags = flags_str.split("|") + flags_len = len(flags) + for i in range(0, flags_len): + result = (result | flag_value_dict[flags[i].strip().upper()]) + return result + +def gen_sys_vars_dict_script_for_upgrade(filename, list_sorted_by_id): + os.chmod(filename, stat.S_IRUSR + stat.S_IWUSR + stat.S_IRGRP + stat.S_IROTH) + wfile = open(filename, 'w') + annotation_is_written = False + wfile.write('#!/usr/bin/env python\n') + wfile.write('# -*- coding: utf-8 -*-\n') + wfile.write('\n') + wfile.write("# sys_vars_dict.py是由gen_ob_sys_variables.py根据ob_system_variable_init.json和upgrade_sys_var_base_script.py文件生成的,不可修改\n") + wfile.write('sys_var_dict = {}\n') + for (name, attributes) in list_sorted_by_id: + wfile.write("sys_var_dict[\"" + name + "\"] = {\"id\": " + str(attributes["id"]) + ", \"name\": \"" + attributes["name"] + "\", \"value\": \"" + attributes["value"] + "\", \"data_type\": " + str(type_value_dict[attributes["data_type"]]) + ", \"info\": \"" + attributes["info"] + "\", \"flags\": " + str(calc_flags_from_str(attributes["flags"])) + ((", \"min_val\": \"" + attributes["min_val"] + "\"") if "min_val" in attributes.keys() else "") + ((", \"max_val\": \"" + attributes["max_val"] + "\"") if "max_val" in attributes.keys() else "") + "}\n") + wfile.close() + os.chmod(filename, stat.S_IRUSR + stat.S_IRGRP + stat.S_IROTH) + print("Generate " + str(filename) + " successfully!\n") + +def gen_upgrade_script(): + print('\n=========run gen_upgrade_scripts.py, begin=========\n') + info = os.popen('cd ../../../tools/upgrade/; ./gen_upgrade_scripts.py;') + print(info.read()) + print('\n=========run gen_upgrade_scripts.py, end=========\n') + +pdir = "share/system_variable" +json_file_name = "ob_system_variable_init.json" +head_file_name = "ob_system_variable_init.h" +cpp_file_name = "ob_system_variable_init.cpp" +alias_file_name ="ob_system_variable_alias.h" +sys_var_class_type_head_file_name = "ob_sys_var_class_type.h" +sys_var_fac_head_file_name = "ob_system_variable_factory.h" +sys_var_fac_cpp_file_name = "ob_system_variable_factory.cpp" +sys_vars_dict_script_file_name = "../../../tools/upgrade/sys_vars_dict.py" + +(json_Dict, list_sorted_by_name, list_sorted_by_id) = parse_json(json_file_name) + +make_head_file(pdir, head_file_name, list_sorted_by_id) +make_cpp_file(pdir, cpp_file_name, list_sorted_by_id) +make_alias_file(pdir, alias_file_name, list_sorted_by_id) + +make_sys_var_class_type_h(pdir, sys_var_class_type_head_file_name, list_sorted_by_id) +make_sys_var_h(pdir, sys_var_fac_head_file_name, list_sorted_by_id) +make_sys_var_cpp(pdir, sys_var_fac_cpp_file_name, list_sorted_by_name, list_sorted_by_id) + +gen_sys_vars_dict_script_for_upgrade(sys_vars_dict_script_file_name, list_sorted_by_id) +gen_upgrade_script() diff --git a/src/share/system_variable/ob_sys_var_class_type.h b/src/share/system_variable/ob_sys_var_class_type.h index b4d5ab1d463a093902e0013bc6225f422a761908..09129c6caa663117c0e3de83bb10fd7d6a135efe 100644 --- a/src/share/system_variable/ob_sys_var_class_type.h +++ b/src/share/system_variable/ob_sys_var_class_type.h @@ -14,9 +14,12 @@ #define OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYS_VAR_CLASS_TYPE_ #include -namespace oceanbase { -namespace share { -enum ObSysVarClassType { +namespace oceanbase +{ +namespace share +{ +enum ObSysVarClassType +{ SYS_VAR_INVALID = -1, SYS_VAR_AUTO_INCREMENT_INCREMENT = 0, SYS_VAR_AUTO_INCREMENT_OFFSET = 1, @@ -99,6 +102,9 @@ enum ObSysVarClassType { SYS_VAR_VERSION_COMPILE_MACHINE = 78, SYS_VAR_VERSION_COMPILE_OS = 79, SYS_VAR_WARNING_COUNT = 80, + SYS_VAR_SESSION_TRACK_SCHEMA = 81, + SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES = 82, + SYS_VAR_SESSION_TRACK_STATE_CHANGE = 83, SYS_VAR_OB_DEFAULT_REPLICA_NUM = 10000, SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT = 10001, SYS_VAR_OB_PROXY_PARTITION_HIT = 10002, @@ -216,5 +222,5 @@ enum ObSysVarClassType { }; } -} // namespace oceanbase -#endif // OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYS_VAR_CLASS_TYPE_ \ No newline at end of file +} +#endif //OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYS_VAR_CLASS_TYPE_ diff --git a/src/share/system_variable/ob_system_variable_alias.h b/src/share/system_variable/ob_system_variable_alias.h index fa96f667b16e0ec5a0b78a89fdb93f231dc0fdc4..7cd9f49d6c34f21d22d19ddc02b1991a71940354 100644 --- a/src/share/system_variable/ob_system_variable_alias.h +++ b/src/share/system_variable/ob_system_variable_alias.h @@ -10,206 +10,217 @@ * See the Mulan PubL v2 for more details. */ + +/* 此处定义所有系统变量的名字。初始化@see ob_ddl_operation.cpp和ob_basic_session_info.cpp + * @note: 所有OB特有的非mysql的系统变量,都以ob_开头,以区别于mysql系统变量的名字空间。 + * 反之,所有不以ob_开头的系统变量都必须和mysql语义完全兼容。 */ + #ifndef OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_ALIAS_ #define OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_ALIAS_ -namespace oceanbase { -namespace share { -static const char* const OB_SV_AUTO_INCREMENT_INCREMENT = "auto_increment_increment"; -static const char* const OB_SV_AUTO_INCREMENT_OFFSET = "auto_increment_offset"; -static const char* const OB_SV_AUTOCOMMIT = "autocommit"; -static const char* const OB_SV_CHARACTER_SET_CLIENT = "character_set_client"; -static const char* const OB_SV_CHARACTER_SET_CONNECTION = "character_set_connection"; -static const char* const OB_SV_CHARACTER_SET_DATABASE = "character_set_database"; -static const char* const OB_SV_CHARACTER_SET_RESULTS = "character_set_results"; -static const char* const OB_SV_CHARACTER_SET_SERVER = "character_set_server"; -static const char* const OB_SV_CHARACTER_SET_SYSTEM = "character_set_system"; -static const char* const OB_SV_COLLATION_CONNECTION = "collation_connection"; -static const char* const OB_SV_COLLATION_DATABASE = "collation_database"; -static const char* const OB_SV_COLLATION_SERVER = "collation_server"; -static const char* const OB_SV_INTERACTIVE_TIMEOUT = "interactive_timeout"; -static const char* const OB_SV_LAST_INSERT_ID = "last_insert_id"; -static const char* const OB_SV_MAX_ALLOWED_PACKET = "max_allowed_packet"; -static const char* const OB_SV_SQL_MODE = "sql_mode"; -static const char* const OB_SV_TIME_ZONE = "time_zone"; -static const char* const OB_SV_TX_ISOLATION = "tx_isolation"; -static const char* const OB_SV_VERSION_COMMENT = "version_comment"; -static const char* const OB_SV_WAIT_TIMEOUT = "wait_timeout"; -static const char* const OB_SV_BINLOG_ROW_IMAGE = "binlog_row_image"; -static const char* const OB_SV_CHARACTER_SET_FILESYSTEM = "character_set_filesystem"; -static const char* const OB_SV_CONNECT_TIMEOUT = "connect_timeout"; -static const char* const OB_SV_DATADIR = "datadir"; -static const char* const OB_SV_DEBUG_SYNC = "debug_sync"; -static const char* const OB_SV_DIV_PRECISION_INCREMENT = "div_precision_increment"; -static const char* const OB_SV_EXPLICIT_DEFAULTS_FOR_TIMESTAMP = "explicit_defaults_for_timestamp"; -static const char* const OB_SV_GROUP_CONCAT_MAX_LEN = "group_concat_max_len"; -static const char* const OB_SV_IDENTITY = "identity"; -static const char* const OB_SV_LOWER_CASE_TABLE_NAMES = "lower_case_table_names"; -static const char* const OB_SV_NET_READ_TIMEOUT = "net_read_timeout"; -static const char* const OB_SV_NET_WRITE_TIMEOUT = "net_write_timeout"; -static const char* const OB_SV_READ_ONLY = "read_only"; -static const char* const OB_SV_SQL_AUTO_IS_NULL = "sql_auto_is_null"; -static const char* const OB_SV_SQL_SELECT_LIMIT = "sql_select_limit"; -static const char* const OB_SV_TIMESTAMP = "timestamp"; -static const char* const OB_SV_TX_READ_ONLY = "tx_read_only"; -static const char* const OB_SV_VERSION = "version"; -static const char* const OB_SV_SQL_WARNINGS = "sql_warnings"; -static const char* const OB_SV_MAX_USER_CONNECTIONS = "max_user_connections"; -static const char* const OB_SV_INIT_CONNECT = "init_connect"; -static const char* const OB_SV_LICENSE = "license"; -static const char* const OB_SV_NET_BUFFER_LENGTH = "net_buffer_length"; -static const char* const OB_SV_SYSTEM_TIME_ZONE = "system_time_zone"; -static const char* const OB_SV_QUERY_CACHE_SIZE = "query_cache_size"; -static const char* const OB_SV_QUERY_CACHE_TYPE = "query_cache_type"; -static const char* const OB_SV_SQL_QUOTE_SHOW_CREATE = "sql_quote_show_create"; -static const char* const OB_SV_MAX_SP_RECURSION_DEPTH = "max_sp_recursion_depth"; -static const char* const OB_SV_SQL_SAFE_UPDATES = "sql_safe_updates"; -static const char* const OB_SV_CONCURRENT_INSERT = "concurrent_insert"; -static const char* const OB_SV_DEFAULT_AUTHENTICATION_PLUGIN = "default_authentication_plugin"; -static const char* const OB_SV_DISABLED_STORAGE_ENGINES = "disabled_storage_engines"; -static const char* const OB_SV_ERROR_COUNT = "error_count"; -static const char* const OB_SV_GENERAL_LOG = "general_log"; -static const char* const OB_SV_HAVE_OPENSSL = "have_openssl"; -static const char* const OB_SV_HAVE_PROFILING = "have_profiling"; -static const char* const OB_SV_HAVE_SSL = "have_ssl"; -static const char* const OB_SV_HOSTNAME = "hostname"; -static const char* const OB_SV_LC_MESSAGES = "lc_messages"; -static const char* const OB_SV_LOCAL_INFILE = "local_infile"; -static const char* const OB_SV_LOCK_WAIT_TIMEOUT = "lock_wait_timeout"; -static const char* const OB_SV_LONG_QUERY_TIME = "long_query_time"; -static const char* const OB_SV_MAX_CONNECTIONS = "max_connections"; -static const char* const OB_SV_MAX_EXECUTION_TIME = "max_execution_time"; -static const char* const OB_SV_PROTOCOL_VERSION = "protocol_version"; -static const char* const OB_SV_SERVER_ID = "server_id"; -static const char* const OB_SV_SSL_CA = "ssl_ca"; -static const char* const OB_SV_SSL_CAPATH = "ssl_capath"; -static const char* const OB_SV_SSL_CERT = "ssl_cert"; -static const char* const OB_SV_SSL_CIPHER = "ssl_cipher"; -static const char* const OB_SV_SSL_CRL = "ssl_crl"; -static const char* const OB_SV_SSL_CRLPATH = "ssl_crlpath"; -static const char* const OB_SV_SSL_KEY = "ssl_key"; -static const char* const OB_SV_TIME_FORMAT = "time_format"; -static const char* const OB_SV_TLS_VERSION = "tls_version"; -static const char* const OB_SV_TMP_TABLE_SIZE = "tmp_table_size"; -static const char* const OB_SV_TMPDIR = "tmpdir"; -static const char* const OB_SV_UNIQUE_CHECKS = "unique_checks"; -static const char* const OB_SV_VERSION_COMPILE_MACHINE = "version_compile_machine"; -static const char* const OB_SV_VERSION_COMPILE_OS = "version_compile_os"; -static const char* const OB_SV_WARNING_COUNT = "warning_count"; -static const char* const OB_SV_DEFAULT_REPLICA_NUM = "ob_default_replica_num"; -static const char* const OB_SV_INTERM_RESULT_MEM_LIMIT = "ob_interm_result_mem_limit"; -static const char* const OB_SV_PROXY_PARTITION_HIT = "ob_proxy_partition_hit"; -static const char* const OB_SV_LOG_LEVEL = "ob_log_level"; -static const char* const OB_SV_MAX_PARALLEL_DEGREE = "ob_max_parallel_degree"; -static const char* const OB_SV_QUERY_TIMEOUT = "ob_query_timeout"; -static const char* const OB_SV_READ_CONSISTENCY = "ob_read_consistency"; -static const char* const OB_SV_ENABLE_TRANSFORMATION = "ob_enable_transformation"; -static const char* const OB_SV_TRX_TIMEOUT = "ob_trx_timeout"; -static const char* const OB_SV_ENABLE_PLAN_CACHE = "ob_enable_plan_cache"; -static const char* const OB_SV_ENABLE_INDEX_DIRECT_SELECT = "ob_enable_index_direct_select"; -static const char* const OB_SV_PROXY_SET_TRX_EXECUTED = "ob_proxy_set_trx_executed"; -static const char* const OB_SV_ENABLE_AGGREGATION_PUSHDOWN = "ob_enable_aggregation_pushdown"; -static const char* const OB_SV_LAST_SCHEMA_VERSION = "ob_last_schema_version"; -static const char* const OB_SV_GLOBAL_DEBUG_SYNC = "ob_global_debug_sync"; -static const char* const OB_SV_PROXY_GLOBAL_VARIABLES_VERSION = "ob_proxy_global_variables_version"; -static const char* const OB_SV_ENABLE_TRACE_LOG = "ob_enable_trace_log"; -static const char* const OB_SV_ENABLE_HASH_GROUP_BY = "ob_enable_hash_group_by"; -static const char* const OB_SV_ENABLE_BLK_NESTEDLOOP_JOIN = "ob_enable_blk_nestedloop_join"; -static const char* const OB_SV_BNL_JOIN_CACHE_SIZE = "ob_bnl_join_cache_size"; -static const char* const OB_SV_PROXY_USER_PRIVILEGE = "ob_proxy_user_privilege"; -static const char* const OB_SV_ORG_CLUSTER_ID = "ob_org_cluster_id"; -static const char* const OB_SV_PLAN_CACHE_PERCENTAGE = "ob_plan_cache_percentage"; -static const char* const OB_SV_PLAN_CACHE_EVICT_HIGH_PERCENTAGE = "ob_plan_cache_evict_high_percentage"; -static const char* const OB_SV_PLAN_CACHE_EVICT_LOW_PERCENTAGE = "ob_plan_cache_evict_low_percentage"; -static const char* const OB_SV_RECYCLEBIN = "recyclebin"; -static const char* const OB_SV_CAPABILITY_FLAG = "ob_capability_flag"; -static const char* const OB_SV_STMT_PARALLEL_DEGREE = "ob_stmt_parallel_degree"; -static const char* const OB_SV_IS_RESULT_ACCURATE = "is_result_accurate"; -static const char* const OB_SV_ERROR_ON_OVERLAP_TIME = "error_on_overlap_time"; -static const char* const OB_SV_COMPATIBILITY_MODE = "ob_compatibility_mode"; -static const char* const OB_SV_CREATE_TABLE_STRICT_MODE = "ob_create_table_strict_mode"; -static const char* const OB_SV_SQL_WORK_AREA_PERCENTAGE = "ob_sql_work_area_percentage"; -static const char* const OB_SV_SAFE_WEAK_READ_SNAPSHOT = "ob_safe_weak_read_snapshot"; -static const char* const OB_SV_ROUTE_POLICY = "ob_route_policy"; -static const char* const OB_SV_ENABLE_TRANSMISSION_CHECKSUM = "ob_enable_transmission_checksum"; -static const char* const OB_SV_FOREIGN_KEY_CHECKS = "foreign_key_checks"; -static const char* const OB_SV_STATEMENT_TRACE_ID = "ob_statement_trace_id"; -static const char* const OB_SV_ENABLE_TRUNCATE_FLASHBACK = "ob_enable_truncate_flashback"; -static const char* const OB_SV_TCP_INVITED_NODES = "ob_tcp_invited_nodes"; -static const char* const OB_SV_SQL_THROTTLE_CURRENT_PRIORITY = "sql_throttle_current_priority"; -static const char* const OB_SV_SQL_THROTTLE_PRIORITY = "sql_throttle_priority"; -static const char* const OB_SV_SQL_THROTTLE_RT = "sql_throttle_rt"; -static const char* const OB_SV_SQL_THROTTLE_CPU = "sql_throttle_cpu"; -static const char* const OB_SV_SQL_THROTTLE_IO = "sql_throttle_io"; -static const char* const OB_SV_SQL_THROTTLE_NETWORK = "sql_throttle_network"; -static const char* const OB_SV_SQL_THROTTLE_LOGICAL_READS = "sql_throttle_logical_reads"; -static const char* const OB_SV_AUTO_INCREMENT_CACHE_SIZE = "auto_increment_cache_size"; -static const char* const OB_SV_ENABLE_JIT = "ob_enable_jit"; -static const char* const OB_SV_TEMP_TABLESPACE_SIZE_PERCENTAGE = "ob_temp_tablespace_size_percentage"; -static const char* const OB_SV__OPTIMIZER_ADAPTIVE_CURSOR_SHARING = "_optimizer_adaptive_cursor_sharing"; -static const char* const OB_SV_TIMESTAMP_SERVICE = "ob_timestamp_service"; -static const char* const OB_SV_PLUGIN_DIR = "plugin_dir"; -static const char* const OB_SV_UNDO_RETENTION = "undo_retention"; -static const char* const OB_SV__OB_USE_PARALLEL_EXECUTION = "_ob_use_parallel_execution"; -static const char* const OB_SV_SQL_AUDIT_PERCENTAGE = "ob_sql_audit_percentage"; -static const char* const OB_SV_ENABLE_SQL_AUDIT = "ob_enable_sql_audit"; -static const char* const OB_SV_OPTIMIZER_USE_SQL_PLAN_BASELINES = "optimizer_use_sql_plan_baselines"; -static const char* const OB_SV_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = "optimizer_capture_sql_plan_baselines"; -static const char* const OB_SV_PARALLEL_MAX_SERVERS = "parallel_max_servers"; -static const char* const OB_SV_PARALLEL_SERVERS_TARGET = "parallel_servers_target"; -static const char* const OB_SV_EARLY_LOCK_RELEASE = "ob_early_lock_release"; -static const char* const OB_SV_TRX_IDLE_TIMEOUT = "ob_trx_idle_timeout"; -static const char* const OB_SV_BLOCK_ENCRYPTION_MODE = "block_encryption_mode"; -static const char* const OB_SV_NLS_DATE_FORMAT = "nls_date_format"; -static const char* const OB_SV_NLS_TIMESTAMP_FORMAT = "nls_timestamp_format"; -static const char* const OB_SV_NLS_TIMESTAMP_TZ_FORMAT = "nls_timestamp_tz_format"; -static const char* const OB_SV_RESERVED_META_MEMORY_PERCENTAGE = "ob_reserved_meta_memory_percentage"; -static const char* const OB_SV_CHECK_SYS_VARIABLE = "ob_check_sys_variable"; -static const char* const OB_SV_NLS_LANGUAGE = "nls_language"; -static const char* const OB_SV_NLS_TERRITORY = "nls_territory"; -static const char* const OB_SV_NLS_SORT = "nls_sort"; -static const char* const OB_SV_NLS_COMP = "nls_comp"; -static const char* const OB_SV_NLS_CHARACTERSET = "nls_characterset"; -static const char* const OB_SV_NLS_NCHAR_CHARACTERSET = "nls_nchar_characterset"; -static const char* const OB_SV_NLS_DATE_LANGUAGE = "nls_date_language"; -static const char* const OB_SV_NLS_LENGTH_SEMANTICS = "nls_length_semantics"; -static const char* const OB_SV_NLS_NCHAR_CONV_EXCP = "nls_nchar_conv_excp"; -static const char* const OB_SV_NLS_CALENDAR = "nls_calendar"; -static const char* const OB_SV_NLS_NUMERIC_CHARACTERS = "nls_numeric_characters"; -static const char* const OB_SV__NLJ_BATCHING_ENABLED = "_nlj_batching_enabled"; -static const char* const OB_SV_TRACEFILE_IDENTIFIER = "tracefile_identifier"; -static const char* const OB_SV__GROUPBY_NOPUSHDOWN_CUT_RATIO = "_groupby_nopushdown_cut_ratio"; -static const char* const OB_SV__PX_BROADCAST_FUDGE_FACTOR = "_px_broadcast_fudge_factor"; -static const char* const OB_SV__PRIMARY_ZONE_ENTITY_COUNT = "_primary_zone_entity_count"; -static const char* const OB_SV_TRANSACTION_ISOLATION = "transaction_isolation"; -static const char* const OB_SV_TRX_LOCK_TIMEOUT = "ob_trx_lock_timeout"; -static const char* const OB_SV_VALIDATE_PASSWORD_CHECK_USER_NAME = "validate_password_check_user_name"; -static const char* const OB_SV_VALIDATE_PASSWORD_LENGTH = "validate_password_length"; -static const char* const OB_SV_VALIDATE_PASSWORD_MIXED_CASE_COUNT = "validate_password_mixed_case_count"; -static const char* const OB_SV_VALIDATE_PASSWORD_NUMBER_COUNT = "validate_password_number_count"; -static const char* const OB_SV_VALIDATE_PASSWORD_POLICY = "validate_password_policy"; -static const char* const OB_SV_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT = "validate_password_special_char_count"; -static const char* const OB_SV_DEFAULT_PASSWORD_LIFETIME = "default_password_lifetime"; -static const char* const OB_SV_TRACE_INFO = "ob_trace_info"; -static const char* const OB_SV_ENABLE_BATCHED_MULTI_STATEMENT = "ob_enable_batched_multi_statement"; -static const char* const OB_SV__PX_PARTITION_SCAN_THRESHOLD = "_px_partition_scan_threshold"; -static const char* const OB_SV__OB_PX_BCAST_OPTIMIZATION = "_ob_px_bcast_optimization"; -static const char* const OB_SV__OB_PX_SLAVE_MAPPING_THRESHOLD = "_ob_px_slave_mapping_threshold"; -static const char* const OB_SV__ENABLE_PARALLEL_DML = "_enable_parallel_dml"; -static const char* const OB_SV__PX_MIN_GRANULES_PER_SLAVE = "_px_min_granules_per_slave"; -static const char* const OB_SV_SECURE_FILE_PRIV = "secure_file_priv"; -static const char* const OB_SV_PLSQL_WARNINGS = "plsql_warnings"; -static const char* const OB_SV__ENABLE_PARALLEL_QUERY = "_enable_parallel_query"; -static const char* const OB_SV__FORCE_PARALLEL_QUERY_DOP = "_force_parallel_query_dop"; -static const char* const OB_SV__FORCE_PARALLEL_DML_DOP = "_force_parallel_dml_dop"; -static const char* const OB_SV_PL_BLOCK_TIMEOUT = "ob_pl_block_timeout"; -static const char* const OB_SV_TRANSACTION_READ_ONLY = "transaction_read_only"; -static const char* const OB_SV_RESOURCE_MANAGER_PLAN = "resource_manager_plan"; -static const char* const OB_SV_PERFORMANCE_SCHEMA = "performance_schema"; -static const char* const OB_SV_NLS_CURRENCY = "nls_currency"; -static const char* const OB_SV_NLS_ISO_CURRENCY = "nls_iso_currency"; -static const char* const OB_SV_NLS_DUAL_CURRENCY = "nls_dual_currency"; -static const char* const OB_SV__OB_PROXY_SESSION_TEMPORARY_TABLE_USED = "_ob_proxy_session_temporary_table_used"; +namespace oceanbase +{ +namespace share +{ + static const char* const OB_SV_AUTO_INCREMENT_INCREMENT = "auto_increment_increment"; + static const char* const OB_SV_AUTO_INCREMENT_OFFSET = "auto_increment_offset"; + static const char* const OB_SV_AUTOCOMMIT = "autocommit"; + static const char* const OB_SV_CHARACTER_SET_CLIENT = "character_set_client"; + static const char* const OB_SV_CHARACTER_SET_CONNECTION = "character_set_connection"; + static const char* const OB_SV_CHARACTER_SET_DATABASE = "character_set_database"; + static const char* const OB_SV_CHARACTER_SET_RESULTS = "character_set_results"; + static const char* const OB_SV_CHARACTER_SET_SERVER = "character_set_server"; + static const char* const OB_SV_CHARACTER_SET_SYSTEM = "character_set_system"; + static const char* const OB_SV_COLLATION_CONNECTION = "collation_connection"; + static const char* const OB_SV_COLLATION_DATABASE = "collation_database"; + static const char* const OB_SV_COLLATION_SERVER = "collation_server"; + static const char* const OB_SV_INTERACTIVE_TIMEOUT = "interactive_timeout"; + static const char* const OB_SV_LAST_INSERT_ID = "last_insert_id"; + static const char* const OB_SV_MAX_ALLOWED_PACKET = "max_allowed_packet"; + static const char* const OB_SV_SQL_MODE = "sql_mode"; + static const char* const OB_SV_TIME_ZONE = "time_zone"; + static const char* const OB_SV_TX_ISOLATION = "tx_isolation"; + static const char* const OB_SV_VERSION_COMMENT = "version_comment"; + static const char* const OB_SV_WAIT_TIMEOUT = "wait_timeout"; + static const char* const OB_SV_BINLOG_ROW_IMAGE = "binlog_row_image"; + static const char* const OB_SV_CHARACTER_SET_FILESYSTEM = "character_set_filesystem"; + static const char* const OB_SV_CONNECT_TIMEOUT = "connect_timeout"; + static const char* const OB_SV_DATADIR = "datadir"; + static const char* const OB_SV_DEBUG_SYNC = "debug_sync"; + static const char* const OB_SV_DIV_PRECISION_INCREMENT = "div_precision_increment"; + static const char* const OB_SV_EXPLICIT_DEFAULTS_FOR_TIMESTAMP = "explicit_defaults_for_timestamp"; + static const char* const OB_SV_GROUP_CONCAT_MAX_LEN = "group_concat_max_len"; + static const char* const OB_SV_IDENTITY = "identity"; + static const char* const OB_SV_LOWER_CASE_TABLE_NAMES = "lower_case_table_names"; + static const char* const OB_SV_NET_READ_TIMEOUT = "net_read_timeout"; + static const char* const OB_SV_NET_WRITE_TIMEOUT = "net_write_timeout"; + static const char* const OB_SV_READ_ONLY = "read_only"; + static const char* const OB_SV_SQL_AUTO_IS_NULL = "sql_auto_is_null"; + static const char* const OB_SV_SQL_SELECT_LIMIT = "sql_select_limit"; + static const char* const OB_SV_TIMESTAMP = "timestamp"; + static const char* const OB_SV_TX_READ_ONLY = "tx_read_only"; + static const char* const OB_SV_VERSION = "version"; + static const char* const OB_SV_SQL_WARNINGS = "sql_warnings"; + static const char* const OB_SV_MAX_USER_CONNECTIONS = "max_user_connections"; + static const char* const OB_SV_INIT_CONNECT = "init_connect"; + static const char* const OB_SV_LICENSE = "license"; + static const char* const OB_SV_NET_BUFFER_LENGTH = "net_buffer_length"; + static const char* const OB_SV_SYSTEM_TIME_ZONE = "system_time_zone"; + static const char* const OB_SV_QUERY_CACHE_SIZE = "query_cache_size"; + static const char* const OB_SV_QUERY_CACHE_TYPE = "query_cache_type"; + static const char* const OB_SV_SQL_QUOTE_SHOW_CREATE = "sql_quote_show_create"; + static const char* const OB_SV_MAX_SP_RECURSION_DEPTH = "max_sp_recursion_depth"; + static const char* const OB_SV_SQL_SAFE_UPDATES = "sql_safe_updates"; + static const char* const OB_SV_CONCURRENT_INSERT = "concurrent_insert"; + static const char* const OB_SV_DEFAULT_AUTHENTICATION_PLUGIN = "default_authentication_plugin"; + static const char* const OB_SV_DISABLED_STORAGE_ENGINES = "disabled_storage_engines"; + static const char* const OB_SV_ERROR_COUNT = "error_count"; + static const char* const OB_SV_GENERAL_LOG = "general_log"; + static const char* const OB_SV_HAVE_OPENSSL = "have_openssl"; + static const char* const OB_SV_HAVE_PROFILING = "have_profiling"; + static const char* const OB_SV_HAVE_SSL = "have_ssl"; + static const char* const OB_SV_HOSTNAME = "hostname"; + static const char* const OB_SV_LC_MESSAGES = "lc_messages"; + static const char* const OB_SV_LOCAL_INFILE = "local_infile"; + static const char* const OB_SV_LOCK_WAIT_TIMEOUT = "lock_wait_timeout"; + static const char* const OB_SV_LONG_QUERY_TIME = "long_query_time"; + static const char* const OB_SV_MAX_CONNECTIONS = "max_connections"; + static const char* const OB_SV_MAX_EXECUTION_TIME = "max_execution_time"; + static const char* const OB_SV_PROTOCOL_VERSION = "protocol_version"; + static const char* const OB_SV_SERVER_ID = "server_id"; + static const char* const OB_SV_SSL_CA = "ssl_ca"; + static const char* const OB_SV_SSL_CAPATH = "ssl_capath"; + static const char* const OB_SV_SSL_CERT = "ssl_cert"; + static const char* const OB_SV_SSL_CIPHER = "ssl_cipher"; + static const char* const OB_SV_SSL_CRL = "ssl_crl"; + static const char* const OB_SV_SSL_CRLPATH = "ssl_crlpath"; + static const char* const OB_SV_SSL_KEY = "ssl_key"; + static const char* const OB_SV_TIME_FORMAT = "time_format"; + static const char* const OB_SV_TLS_VERSION = "tls_version"; + static const char* const OB_SV_TMP_TABLE_SIZE = "tmp_table_size"; + static const char* const OB_SV_TMPDIR = "tmpdir"; + static const char* const OB_SV_UNIQUE_CHECKS = "unique_checks"; + static const char* const OB_SV_VERSION_COMPILE_MACHINE = "version_compile_machine"; + static const char* const OB_SV_VERSION_COMPILE_OS = "version_compile_os"; + static const char* const OB_SV_WARNING_COUNT = "warning_count"; + static const char* const OB_SV_SESSION_TRACK_SCHEMA = "session_track_schema"; + static const char* const OB_SV_SESSION_TRACK_SYSTEM_VARIABLES = "session_track_system_variables"; + static const char* const OB_SV_SESSION_TRACK_STATE_CHANGE = "session_track_state_change"; + static const char* const OB_SV_DEFAULT_REPLICA_NUM = "ob_default_replica_num"; + static const char* const OB_SV_INTERM_RESULT_MEM_LIMIT = "ob_interm_result_mem_limit"; + static const char* const OB_SV_PROXY_PARTITION_HIT = "ob_proxy_partition_hit"; + static const char* const OB_SV_LOG_LEVEL = "ob_log_level"; + static const char* const OB_SV_MAX_PARALLEL_DEGREE = "ob_max_parallel_degree"; + static const char* const OB_SV_QUERY_TIMEOUT = "ob_query_timeout"; + static const char* const OB_SV_READ_CONSISTENCY = "ob_read_consistency"; + static const char* const OB_SV_ENABLE_TRANSFORMATION = "ob_enable_transformation"; + static const char* const OB_SV_TRX_TIMEOUT = "ob_trx_timeout"; + static const char* const OB_SV_ENABLE_PLAN_CACHE = "ob_enable_plan_cache"; + static const char* const OB_SV_ENABLE_INDEX_DIRECT_SELECT = "ob_enable_index_direct_select"; + static const char* const OB_SV_PROXY_SET_TRX_EXECUTED = "ob_proxy_set_trx_executed"; + static const char* const OB_SV_ENABLE_AGGREGATION_PUSHDOWN = "ob_enable_aggregation_pushdown"; + static const char* const OB_SV_LAST_SCHEMA_VERSION = "ob_last_schema_version"; + static const char* const OB_SV_GLOBAL_DEBUG_SYNC = "ob_global_debug_sync"; + static const char* const OB_SV_PROXY_GLOBAL_VARIABLES_VERSION = "ob_proxy_global_variables_version"; + static const char* const OB_SV_ENABLE_TRACE_LOG = "ob_enable_trace_log"; + static const char* const OB_SV_ENABLE_HASH_GROUP_BY = "ob_enable_hash_group_by"; + static const char* const OB_SV_ENABLE_BLK_NESTEDLOOP_JOIN = "ob_enable_blk_nestedloop_join"; + static const char* const OB_SV_BNL_JOIN_CACHE_SIZE = "ob_bnl_join_cache_size"; + static const char* const OB_SV_PROXY_USER_PRIVILEGE = "ob_proxy_user_privilege"; + static const char* const OB_SV_ORG_CLUSTER_ID = "ob_org_cluster_id"; + static const char* const OB_SV_PLAN_CACHE_PERCENTAGE = "ob_plan_cache_percentage"; + static const char* const OB_SV_PLAN_CACHE_EVICT_HIGH_PERCENTAGE = "ob_plan_cache_evict_high_percentage"; + static const char* const OB_SV_PLAN_CACHE_EVICT_LOW_PERCENTAGE = "ob_plan_cache_evict_low_percentage"; + static const char* const OB_SV_RECYCLEBIN = "recyclebin"; + static const char* const OB_SV_CAPABILITY_FLAG = "ob_capability_flag"; + static const char* const OB_SV_STMT_PARALLEL_DEGREE = "ob_stmt_parallel_degree"; + static const char* const OB_SV_IS_RESULT_ACCURATE = "is_result_accurate"; + static const char* const OB_SV_ERROR_ON_OVERLAP_TIME = "error_on_overlap_time"; + static const char* const OB_SV_COMPATIBILITY_MODE = "ob_compatibility_mode"; + static const char* const OB_SV_CREATE_TABLE_STRICT_MODE = "ob_create_table_strict_mode"; + static const char* const OB_SV_SQL_WORK_AREA_PERCENTAGE = "ob_sql_work_area_percentage"; + static const char* const OB_SV_SAFE_WEAK_READ_SNAPSHOT = "ob_safe_weak_read_snapshot"; + static const char* const OB_SV_ROUTE_POLICY = "ob_route_policy"; + static const char* const OB_SV_ENABLE_TRANSMISSION_CHECKSUM = "ob_enable_transmission_checksum"; + static const char* const OB_SV_FOREIGN_KEY_CHECKS = "foreign_key_checks"; + static const char* const OB_SV_STATEMENT_TRACE_ID = "ob_statement_trace_id"; + static const char* const OB_SV_ENABLE_TRUNCATE_FLASHBACK = "ob_enable_truncate_flashback"; + static const char* const OB_SV_TCP_INVITED_NODES = "ob_tcp_invited_nodes"; + static const char* const OB_SV_SQL_THROTTLE_CURRENT_PRIORITY = "sql_throttle_current_priority"; + static const char* const OB_SV_SQL_THROTTLE_PRIORITY = "sql_throttle_priority"; + static const char* const OB_SV_SQL_THROTTLE_RT = "sql_throttle_rt"; + static const char* const OB_SV_SQL_THROTTLE_CPU = "sql_throttle_cpu"; + static const char* const OB_SV_SQL_THROTTLE_IO = "sql_throttle_io"; + static const char* const OB_SV_SQL_THROTTLE_NETWORK = "sql_throttle_network"; + static const char* const OB_SV_SQL_THROTTLE_LOGICAL_READS = "sql_throttle_logical_reads"; + static const char* const OB_SV_AUTO_INCREMENT_CACHE_SIZE = "auto_increment_cache_size"; + static const char* const OB_SV_ENABLE_JIT = "ob_enable_jit"; + static const char* const OB_SV_TEMP_TABLESPACE_SIZE_PERCENTAGE = "ob_temp_tablespace_size_percentage"; + static const char* const OB_SV__OPTIMIZER_ADAPTIVE_CURSOR_SHARING = "_optimizer_adaptive_cursor_sharing"; + static const char* const OB_SV_TIMESTAMP_SERVICE = "ob_timestamp_service"; + static const char* const OB_SV_PLUGIN_DIR = "plugin_dir"; + static const char* const OB_SV_UNDO_RETENTION = "undo_retention"; + static const char* const OB_SV__OB_USE_PARALLEL_EXECUTION = "_ob_use_parallel_execution"; + static const char* const OB_SV_SQL_AUDIT_PERCENTAGE = "ob_sql_audit_percentage"; + static const char* const OB_SV_ENABLE_SQL_AUDIT = "ob_enable_sql_audit"; + static const char* const OB_SV_OPTIMIZER_USE_SQL_PLAN_BASELINES = "optimizer_use_sql_plan_baselines"; + static const char* const OB_SV_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES = "optimizer_capture_sql_plan_baselines"; + static const char* const OB_SV_PARALLEL_MAX_SERVERS = "parallel_max_servers"; + static const char* const OB_SV_PARALLEL_SERVERS_TARGET = "parallel_servers_target"; + static const char* const OB_SV_EARLY_LOCK_RELEASE = "ob_early_lock_release"; + static const char* const OB_SV_TRX_IDLE_TIMEOUT = "ob_trx_idle_timeout"; + static const char* const OB_SV_BLOCK_ENCRYPTION_MODE = "block_encryption_mode"; + static const char* const OB_SV_NLS_DATE_FORMAT = "nls_date_format"; + static const char* const OB_SV_NLS_TIMESTAMP_FORMAT = "nls_timestamp_format"; + static const char* const OB_SV_NLS_TIMESTAMP_TZ_FORMAT = "nls_timestamp_tz_format"; + static const char* const OB_SV_RESERVED_META_MEMORY_PERCENTAGE = "ob_reserved_meta_memory_percentage"; + static const char* const OB_SV_CHECK_SYS_VARIABLE = "ob_check_sys_variable"; + static const char* const OB_SV_NLS_LANGUAGE = "nls_language"; + static const char* const OB_SV_NLS_TERRITORY = "nls_territory"; + static const char* const OB_SV_NLS_SORT = "nls_sort"; + static const char* const OB_SV_NLS_COMP = "nls_comp"; + static const char* const OB_SV_NLS_CHARACTERSET = "nls_characterset"; + static const char* const OB_SV_NLS_NCHAR_CHARACTERSET = "nls_nchar_characterset"; + static const char* const OB_SV_NLS_DATE_LANGUAGE = "nls_date_language"; + static const char* const OB_SV_NLS_LENGTH_SEMANTICS = "nls_length_semantics"; + static const char* const OB_SV_NLS_NCHAR_CONV_EXCP = "nls_nchar_conv_excp"; + static const char* const OB_SV_NLS_CALENDAR = "nls_calendar"; + static const char* const OB_SV_NLS_NUMERIC_CHARACTERS = "nls_numeric_characters"; + static const char* const OB_SV__NLJ_BATCHING_ENABLED = "_nlj_batching_enabled"; + static const char* const OB_SV_TRACEFILE_IDENTIFIER = "tracefile_identifier"; + static const char* const OB_SV__GROUPBY_NOPUSHDOWN_CUT_RATIO = "_groupby_nopushdown_cut_ratio"; + static const char* const OB_SV__PX_BROADCAST_FUDGE_FACTOR = "_px_broadcast_fudge_factor"; + static const char* const OB_SV__PRIMARY_ZONE_ENTITY_COUNT = "_primary_zone_entity_count"; + static const char* const OB_SV_TRANSACTION_ISOLATION = "transaction_isolation"; + static const char* const OB_SV_TRX_LOCK_TIMEOUT = "ob_trx_lock_timeout"; + static const char* const OB_SV_VALIDATE_PASSWORD_CHECK_USER_NAME = "validate_password_check_user_name"; + static const char* const OB_SV_VALIDATE_PASSWORD_LENGTH = "validate_password_length"; + static const char* const OB_SV_VALIDATE_PASSWORD_MIXED_CASE_COUNT = "validate_password_mixed_case_count"; + static const char* const OB_SV_VALIDATE_PASSWORD_NUMBER_COUNT = "validate_password_number_count"; + static const char* const OB_SV_VALIDATE_PASSWORD_POLICY = "validate_password_policy"; + static const char* const OB_SV_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT = "validate_password_special_char_count"; + static const char* const OB_SV_DEFAULT_PASSWORD_LIFETIME = "default_password_lifetime"; + static const char* const OB_SV_TRACE_INFO = "ob_trace_info"; + static const char* const OB_SV_ENABLE_BATCHED_MULTI_STATEMENT = "ob_enable_batched_multi_statement"; + static const char* const OB_SV__PX_PARTITION_SCAN_THRESHOLD = "_px_partition_scan_threshold"; + static const char* const OB_SV__OB_PX_BCAST_OPTIMIZATION = "_ob_px_bcast_optimization"; + static const char* const OB_SV__OB_PX_SLAVE_MAPPING_THRESHOLD = "_ob_px_slave_mapping_threshold"; + static const char* const OB_SV__ENABLE_PARALLEL_DML = "_enable_parallel_dml"; + static const char* const OB_SV__PX_MIN_GRANULES_PER_SLAVE = "_px_min_granules_per_slave"; + static const char* const OB_SV_SECURE_FILE_PRIV = "secure_file_priv"; + static const char* const OB_SV_PLSQL_WARNINGS = "plsql_warnings"; + static const char* const OB_SV__ENABLE_PARALLEL_QUERY = "_enable_parallel_query"; + static const char* const OB_SV__FORCE_PARALLEL_QUERY_DOP = "_force_parallel_query_dop"; + static const char* const OB_SV__FORCE_PARALLEL_DML_DOP = "_force_parallel_dml_dop"; + static const char* const OB_SV_PL_BLOCK_TIMEOUT = "ob_pl_block_timeout"; + static const char* const OB_SV_TRANSACTION_READ_ONLY = "transaction_read_only"; + static const char* const OB_SV_RESOURCE_MANAGER_PLAN = "resource_manager_plan"; + static const char* const OB_SV_PERFORMANCE_SCHEMA = "performance_schema"; + static const char* const OB_SV_NLS_CURRENCY = "nls_currency"; + static const char* const OB_SV_NLS_ISO_CURRENCY = "nls_iso_currency"; + static const char* const OB_SV_NLS_DUAL_CURRENCY = "nls_dual_currency"; + static const char* const OB_SV__OB_PROXY_SESSION_TEMPORARY_TABLE_USED = "_ob_proxy_session_temporary_table_used"; + +} +} +#endif //OCEANBASE_COMMON_OB_SYSTEM_VARIABLE_ALIAS_H_ -} // namespace share -} // namespace oceanbase -#endif // OCEANBASE_COMMON_OB_SYSTEM_VARIABLE_ALIAS_H_ diff --git a/src/share/system_variable/ob_system_variable_factory.cpp b/src/share/system_variable/ob_system_variable_factory.cpp index 7806f8199799821c731a2245ff097ff2cba1cfd4..f323cba60cd7c74a35d32d8461d3d5430d911e14 100644 --- a/src/share/system_variable/ob_system_variable_factory.cpp +++ b/src/share/system_variable/ob_system_variable_factory.cpp @@ -17,683 +17,739 @@ #include using namespace oceanbase::common; -namespace oceanbase { -namespace share { - -const int32_t ObSysVarFactory::OB_MAX_SYS_VAR_ID; - -const char* ObSysVarBinlogRowImage::BINLOG_ROW_IMAGE_NAMES[] = {"MINIMAL", "NOBLOB", "FULL", 0}; -const char* ObSysVarQueryCacheType::QUERY_CACHE_TYPE_NAMES[] = {"OFF", "ON", "DEMAND", 0}; -const char* ObSysVarObReadConsistency::OB_READ_CONSISTENCY_NAMES[] = {"", "FROZEN", "WEAK", "STRONG", 0}; -const char* ObSysVarObCompatibilityMode::OB_COMPATIBILITY_MODE_NAMES[] = {"MYSQL", "ORACLE", 0}; -const char* ObSysVarObRoutePolicy::OB_ROUTE_POLICY_NAMES[] = { - "", "READONLY_ZONE_FIRST", "ONLY_READONLY_ZONE", "UNMERGE_ZONE_FIRST", "UNMERGE_FOLLOWER_FIRST", 0}; -const char* ObSysVarObEnableJit::OB_ENABLE_JIT_NAMES[] = {"OFF", "AUTO", "FORCE", 0}; -const char* ObSysVarObTimestampService::OB_TIMESTAMP_SERVICE_NAMES[] = {"LTS", "GTS", "HA_GTS", 0}; -const char* ObSysVarBlockEncryptionMode::BLOCK_ENCRYPTION_MODE_NAMES[] = {"aes-128-ecb", - "aes-192-ecb", - "aes-256-ecb", - "aes-128-cbc", - "aes-192-cbc", - "aes-256-cbc", - "aes-128-cfb1", - "aes-192-cfb1", - "aes-256-cfb1", - "aes-128-cfb8", - "aes-192-cfb8", - "aes-256-cfb8", - "aes-128-cfb128", - "aes-192-cfb128", - "aes-256-cfb128", - "aes-128-ofb", - "aes-192-ofb", - "aes-256-ofb", - 0}; -const char* ObSysVarValidatePasswordCheckUserName::VALIDATE_PASSWORD_CHECK_USER_NAME_NAMES[] = {"on", "off", 0}; -const char* ObSysVarValidatePasswordPolicy::VALIDATE_PASSWORD_POLICY_NAMES[] = {"low", "medium", 0}; -const char* ObSysVarObPxBcastOptimization::_OB_PX_BCAST_OPTIMIZATION_NAMES[] = {"WORKER", "SERVER", 0}; +namespace oceanbase +{ +namespace share +{ +const char *ObSysVarBinlogRowImage::BINLOG_ROW_IMAGE_NAMES[] = { + "MINIMAL", + "NOBLOB", + "FULL", + 0 +}; +const char *ObSysVarQueryCacheType::QUERY_CACHE_TYPE_NAMES[] = { + "OFF", + "ON", + "DEMAND", + 0 +}; +const char *ObSysVarObReadConsistency::OB_READ_CONSISTENCY_NAMES[] = { + "", + "FROZEN", + "WEAK", + "STRONG", + 0 +}; +const char *ObSysVarObCompatibilityMode::OB_COMPATIBILITY_MODE_NAMES[] = { + "MYSQL", + "ORACLE", + 0 +}; +const char *ObSysVarObRoutePolicy::OB_ROUTE_POLICY_NAMES[] = { + "", + "READONLY_ZONE_FIRST", + "ONLY_READONLY_ZONE", + "UNMERGE_ZONE_FIRST", + "UNMERGE_FOLLOWER_FIRST", + 0 +}; +const char *ObSysVarObEnableJit::OB_ENABLE_JIT_NAMES[] = { + "OFF", + "AUTO", + "FORCE", + 0 +}; +const char *ObSysVarObTimestampService::OB_TIMESTAMP_SERVICE_NAMES[] = { + "LTS", + "GTS", + "HA_GTS", + 0 +}; +const char *ObSysVarBlockEncryptionMode::BLOCK_ENCRYPTION_MODE_NAMES[] = { + "aes-128-ecb", + "aes-192-ecb", + "aes-256-ecb", + "aes-128-cbc", + "aes-192-cbc", + "aes-256-cbc", + "aes-128-cfb1", + "aes-192-cfb1", + "aes-256-cfb1", + "aes-128-cfb8", + "aes-192-cfb8", + "aes-256-cfb8", + "aes-128-cfb128", + "aes-192-cfb128", + "aes-256-cfb128", + "aes-128-ofb", + "aes-192-ofb", + "aes-256-ofb", + 0 +}; +const char *ObSysVarValidatePasswordCheckUserName::VALIDATE_PASSWORD_CHECK_USER_NAME_NAMES[] = { + "on", + "off", + 0 +}; +const char *ObSysVarValidatePasswordPolicy::VALIDATE_PASSWORD_POLICY_NAMES[] = { + "low", + "medium", + 0 +}; +const char *ObSysVarObPxBcastOptimization::_OB_PX_BCAST_OPTIMIZATION_NAMES[] = { + "WORKER", + "SERVER", + 0 +}; -const char* ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = {"_enable_parallel_dml", - "_enable_parallel_query", - "_force_parallel_dml_dop", - "_force_parallel_query_dop", - "_groupby_nopushdown_cut_ratio", - "_nlj_batching_enabled", - "_ob_proxy_session_temporary_table_used", - "_ob_px_bcast_optimization", - "_ob_px_slave_mapping_threshold", - "_ob_use_parallel_execution", - "_optimizer_adaptive_cursor_sharing", - "_primary_zone_entity_count", - "_px_broadcast_fudge_factor", - "_px_min_granules_per_slave", - "_px_partition_scan_threshold", - "auto_increment_cache_size", - "auto_increment_increment", - "auto_increment_offset", - "autocommit", - "binlog_row_image", - "block_encryption_mode", - "character_set_client", - "character_set_connection", - "character_set_database", - "character_set_filesystem", - "character_set_results", - "character_set_server", - "character_set_system", - "collation_connection", - "collation_database", - "collation_server", - "concurrent_insert", - "connect_timeout", - "datadir", - "debug_sync", - "default_authentication_plugin", - "default_password_lifetime", - "disabled_storage_engines", - "div_precision_increment", - "error_count", - "error_on_overlap_time", - "explicit_defaults_for_timestamp", - "foreign_key_checks", - "general_log", - "group_concat_max_len", - "have_openssl", - "have_profiling", - "have_ssl", - "hostname", - "identity", - "init_connect", - "interactive_timeout", - "is_result_accurate", - "last_insert_id", - "lc_messages", - "license", - "local_infile", - "lock_wait_timeout", - "long_query_time", - "lower_case_table_names", - "max_allowed_packet", - "max_connections", - "max_execution_time", - "max_sp_recursion_depth", - "max_user_connections", - "net_buffer_length", - "net_read_timeout", - "net_write_timeout", - "nls_calendar", - "nls_characterset", - "nls_comp", - "nls_currency", - "nls_date_format", - "nls_date_language", - "nls_dual_currency", - "nls_iso_currency", - "nls_language", - "nls_length_semantics", - "nls_nchar_characterset", - "nls_nchar_conv_excp", - "nls_numeric_characters", - "nls_sort", - "nls_territory", - "nls_timestamp_format", - "nls_timestamp_tz_format", - "ob_bnl_join_cache_size", - "ob_capability_flag", - "ob_check_sys_variable", - "ob_compatibility_mode", - "ob_create_table_strict_mode", - "ob_default_replica_num", - "ob_early_lock_release", - "ob_enable_aggregation_pushdown", - "ob_enable_batched_multi_statement", - "ob_enable_blk_nestedloop_join", - "ob_enable_hash_group_by", - "ob_enable_index_direct_select", - "ob_enable_jit", - "ob_enable_plan_cache", - "ob_enable_sql_audit", - "ob_enable_trace_log", - "ob_enable_transformation", - "ob_enable_transmission_checksum", - "ob_enable_truncate_flashback", - "ob_global_debug_sync", - "ob_interm_result_mem_limit", - "ob_last_schema_version", - "ob_log_level", - "ob_max_parallel_degree", - "ob_org_cluster_id", - "ob_pl_block_timeout", - "ob_plan_cache_evict_high_percentage", - "ob_plan_cache_evict_low_percentage", - "ob_plan_cache_percentage", - "ob_proxy_global_variables_version", - "ob_proxy_partition_hit", - "ob_proxy_set_trx_executed", - "ob_proxy_user_privilege", - "ob_query_timeout", - "ob_read_consistency", - "ob_reserved_meta_memory_percentage", - "ob_route_policy", - "ob_safe_weak_read_snapshot", - "ob_sql_audit_percentage", - "ob_sql_work_area_percentage", - "ob_statement_trace_id", - "ob_stmt_parallel_degree", - "ob_tcp_invited_nodes", - "ob_temp_tablespace_size_percentage", - "ob_timestamp_service", - "ob_trace_info", - "ob_trx_idle_timeout", - "ob_trx_lock_timeout", - "ob_trx_timeout", - "optimizer_capture_sql_plan_baselines", - "optimizer_use_sql_plan_baselines", - "parallel_max_servers", - "parallel_servers_target", - "performance_schema", - "plsql_warnings", - "plugin_dir", - "protocol_version", - "query_cache_size", - "query_cache_type", - "read_only", - "recyclebin", - "resource_manager_plan", - "secure_file_priv", - "server_id", - "sql_auto_is_null", - "sql_mode", - "sql_quote_show_create", - "sql_safe_updates", - "sql_select_limit", - "sql_throttle_cpu", - "sql_throttle_current_priority", - "sql_throttle_io", - "sql_throttle_logical_reads", - "sql_throttle_network", - "sql_throttle_priority", - "sql_throttle_rt", - "sql_warnings", - "ssl_ca", - "ssl_capath", - "ssl_cert", - "ssl_cipher", - "ssl_crl", - "ssl_crlpath", - "ssl_key", - "system_time_zone", - "time_format", - "time_zone", - "timestamp", - "tls_version", - "tmp_table_size", - "tmpdir", - "tracefile_identifier", - "transaction_isolation", - "transaction_read_only", - "tx_isolation", - "tx_read_only", - "undo_retention", - "unique_checks", - "validate_password_check_user_name", - "validate_password_length", - "validate_password_mixed_case_count", - "validate_password_number_count", - "validate_password_policy", - "validate_password_special_char_count", - "version", - "version_comment", - "version_compile_machine", - "version_compile_os", - "wait_timeout", - "warning_count"}; +const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[] = { + "_enable_parallel_dml", + "_enable_parallel_query", + "_force_parallel_dml_dop", + "_force_parallel_query_dop", + "_groupby_nopushdown_cut_ratio", + "_nlj_batching_enabled", + "_ob_proxy_session_temporary_table_used", + "_ob_px_bcast_optimization", + "_ob_px_slave_mapping_threshold", + "_ob_use_parallel_execution", + "_optimizer_adaptive_cursor_sharing", + "_primary_zone_entity_count", + "_px_broadcast_fudge_factor", + "_px_min_granules_per_slave", + "_px_partition_scan_threshold", + "auto_increment_cache_size", + "auto_increment_increment", + "auto_increment_offset", + "autocommit", + "binlog_row_image", + "block_encryption_mode", + "character_set_client", + "character_set_connection", + "character_set_database", + "character_set_filesystem", + "character_set_results", + "character_set_server", + "character_set_system", + "collation_connection", + "collation_database", + "collation_server", + "concurrent_insert", + "connect_timeout", + "datadir", + "debug_sync", + "default_authentication_plugin", + "default_password_lifetime", + "disabled_storage_engines", + "div_precision_increment", + "error_count", + "error_on_overlap_time", + "explicit_defaults_for_timestamp", + "foreign_key_checks", + "general_log", + "group_concat_max_len", + "have_openssl", + "have_profiling", + "have_ssl", + "hostname", + "identity", + "init_connect", + "interactive_timeout", + "is_result_accurate", + "last_insert_id", + "lc_messages", + "license", + "local_infile", + "lock_wait_timeout", + "long_query_time", + "lower_case_table_names", + "max_allowed_packet", + "max_connections", + "max_execution_time", + "max_sp_recursion_depth", + "max_user_connections", + "net_buffer_length", + "net_read_timeout", + "net_write_timeout", + "nls_calendar", + "nls_characterset", + "nls_comp", + "nls_currency", + "nls_date_format", + "nls_date_language", + "nls_dual_currency", + "nls_iso_currency", + "nls_language", + "nls_length_semantics", + "nls_nchar_characterset", + "nls_nchar_conv_excp", + "nls_numeric_characters", + "nls_sort", + "nls_territory", + "nls_timestamp_format", + "nls_timestamp_tz_format", + "ob_bnl_join_cache_size", + "ob_capability_flag", + "ob_check_sys_variable", + "ob_compatibility_mode", + "ob_create_table_strict_mode", + "ob_default_replica_num", + "ob_early_lock_release", + "ob_enable_aggregation_pushdown", + "ob_enable_batched_multi_statement", + "ob_enable_blk_nestedloop_join", + "ob_enable_hash_group_by", + "ob_enable_index_direct_select", + "ob_enable_jit", + "ob_enable_plan_cache", + "ob_enable_sql_audit", + "ob_enable_trace_log", + "ob_enable_transformation", + "ob_enable_transmission_checksum", + "ob_enable_truncate_flashback", + "ob_global_debug_sync", + "ob_interm_result_mem_limit", + "ob_last_schema_version", + "ob_log_level", + "ob_max_parallel_degree", + "ob_org_cluster_id", + "ob_pl_block_timeout", + "ob_plan_cache_evict_high_percentage", + "ob_plan_cache_evict_low_percentage", + "ob_plan_cache_percentage", + "ob_proxy_global_variables_version", + "ob_proxy_partition_hit", + "ob_proxy_set_trx_executed", + "ob_proxy_user_privilege", + "ob_query_timeout", + "ob_read_consistency", + "ob_reserved_meta_memory_percentage", + "ob_route_policy", + "ob_safe_weak_read_snapshot", + "ob_sql_audit_percentage", + "ob_sql_work_area_percentage", + "ob_statement_trace_id", + "ob_stmt_parallel_degree", + "ob_tcp_invited_nodes", + "ob_temp_tablespace_size_percentage", + "ob_timestamp_service", + "ob_trace_info", + "ob_trx_idle_timeout", + "ob_trx_lock_timeout", + "ob_trx_timeout", + "optimizer_capture_sql_plan_baselines", + "optimizer_use_sql_plan_baselines", + "parallel_max_servers", + "parallel_servers_target", + "performance_schema", + "plsql_warnings", + "plugin_dir", + "protocol_version", + "query_cache_size", + "query_cache_type", + "read_only", + "recyclebin", + "resource_manager_plan", + "secure_file_priv", + "server_id", + "session_track_schema", + "session_track_state_change", + "session_track_system_variables", + "sql_auto_is_null", + "sql_mode", + "sql_quote_show_create", + "sql_safe_updates", + "sql_select_limit", + "sql_throttle_cpu", + "sql_throttle_current_priority", + "sql_throttle_io", + "sql_throttle_logical_reads", + "sql_throttle_network", + "sql_throttle_priority", + "sql_throttle_rt", + "sql_warnings", + "ssl_ca", + "ssl_capath", + "ssl_cert", + "ssl_cipher", + "ssl_crl", + "ssl_crlpath", + "ssl_key", + "system_time_zone", + "time_format", + "time_zone", + "timestamp", + "tls_version", + "tmp_table_size", + "tmpdir", + "tracefile_identifier", + "transaction_isolation", + "transaction_read_only", + "tx_isolation", + "tx_read_only", + "undo_retention", + "unique_checks", + "validate_password_check_user_name", + "validate_password_length", + "validate_password_mixed_case_count", + "validate_password_number_count", + "validate_password_policy", + "validate_password_special_char_count", + "version", + "version_comment", + "version_compile_machine", + "version_compile_os", + "wait_timeout", + "warning_count" +}; -const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = {SYS_VAR__ENABLE_PARALLEL_DML, - SYS_VAR__ENABLE_PARALLEL_QUERY, - SYS_VAR__FORCE_PARALLEL_DML_DOP, - SYS_VAR__FORCE_PARALLEL_QUERY_DOP, - SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO, - SYS_VAR__NLJ_BATCHING_ENABLED, - SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED, - SYS_VAR__OB_PX_BCAST_OPTIMIZATION, - SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD, - SYS_VAR__OB_USE_PARALLEL_EXECUTION, - SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING, - SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT, - SYS_VAR__PX_BROADCAST_FUDGE_FACTOR, - SYS_VAR__PX_MIN_GRANULES_PER_SLAVE, - SYS_VAR__PX_PARTITION_SCAN_THRESHOLD, - SYS_VAR_AUTO_INCREMENT_CACHE_SIZE, - SYS_VAR_AUTO_INCREMENT_INCREMENT, - SYS_VAR_AUTO_INCREMENT_OFFSET, - SYS_VAR_AUTOCOMMIT, - SYS_VAR_BINLOG_ROW_IMAGE, - SYS_VAR_BLOCK_ENCRYPTION_MODE, - SYS_VAR_CHARACTER_SET_CLIENT, - SYS_VAR_CHARACTER_SET_CONNECTION, - SYS_VAR_CHARACTER_SET_DATABASE, - SYS_VAR_CHARACTER_SET_FILESYSTEM, - SYS_VAR_CHARACTER_SET_RESULTS, - SYS_VAR_CHARACTER_SET_SERVER, - SYS_VAR_CHARACTER_SET_SYSTEM, - SYS_VAR_COLLATION_CONNECTION, - SYS_VAR_COLLATION_DATABASE, - SYS_VAR_COLLATION_SERVER, - SYS_VAR_CONCURRENT_INSERT, - SYS_VAR_CONNECT_TIMEOUT, - SYS_VAR_DATADIR, - SYS_VAR_DEBUG_SYNC, - SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN, - SYS_VAR_DEFAULT_PASSWORD_LIFETIME, - SYS_VAR_DISABLED_STORAGE_ENGINES, - SYS_VAR_DIV_PRECISION_INCREMENT, - SYS_VAR_ERROR_COUNT, - SYS_VAR_ERROR_ON_OVERLAP_TIME, - SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP, - SYS_VAR_FOREIGN_KEY_CHECKS, - SYS_VAR_GENERAL_LOG, - SYS_VAR_GROUP_CONCAT_MAX_LEN, - SYS_VAR_HAVE_OPENSSL, - SYS_VAR_HAVE_PROFILING, - SYS_VAR_HAVE_SSL, - SYS_VAR_HOSTNAME, - SYS_VAR_IDENTITY, - SYS_VAR_INIT_CONNECT, - SYS_VAR_INTERACTIVE_TIMEOUT, - SYS_VAR_IS_RESULT_ACCURATE, - SYS_VAR_LAST_INSERT_ID, - SYS_VAR_LC_MESSAGES, - SYS_VAR_LICENSE, - SYS_VAR_LOCAL_INFILE, - SYS_VAR_LOCK_WAIT_TIMEOUT, - SYS_VAR_LONG_QUERY_TIME, - SYS_VAR_LOWER_CASE_TABLE_NAMES, - SYS_VAR_MAX_ALLOWED_PACKET, - SYS_VAR_MAX_CONNECTIONS, - SYS_VAR_MAX_EXECUTION_TIME, - SYS_VAR_MAX_SP_RECURSION_DEPTH, - SYS_VAR_MAX_USER_CONNECTIONS, - SYS_VAR_NET_BUFFER_LENGTH, - SYS_VAR_NET_READ_TIMEOUT, - SYS_VAR_NET_WRITE_TIMEOUT, - SYS_VAR_NLS_CALENDAR, - SYS_VAR_NLS_CHARACTERSET, - SYS_VAR_NLS_COMP, - SYS_VAR_NLS_CURRENCY, - SYS_VAR_NLS_DATE_FORMAT, - SYS_VAR_NLS_DATE_LANGUAGE, - SYS_VAR_NLS_DUAL_CURRENCY, - SYS_VAR_NLS_ISO_CURRENCY, - SYS_VAR_NLS_LANGUAGE, - SYS_VAR_NLS_LENGTH_SEMANTICS, - SYS_VAR_NLS_NCHAR_CHARACTERSET, - SYS_VAR_NLS_NCHAR_CONV_EXCP, - SYS_VAR_NLS_NUMERIC_CHARACTERS, - SYS_VAR_NLS_SORT, - SYS_VAR_NLS_TERRITORY, - SYS_VAR_NLS_TIMESTAMP_FORMAT, - SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT, - SYS_VAR_OB_BNL_JOIN_CACHE_SIZE, - SYS_VAR_OB_CAPABILITY_FLAG, - SYS_VAR_OB_CHECK_SYS_VARIABLE, - SYS_VAR_OB_COMPATIBILITY_MODE, - SYS_VAR_OB_CREATE_TABLE_STRICT_MODE, - SYS_VAR_OB_DEFAULT_REPLICA_NUM, - SYS_VAR_OB_EARLY_LOCK_RELEASE, - SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN, - SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT, - SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN, - SYS_VAR_OB_ENABLE_HASH_GROUP_BY, - SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT, - SYS_VAR_OB_ENABLE_JIT, - SYS_VAR_OB_ENABLE_PLAN_CACHE, - SYS_VAR_OB_ENABLE_SQL_AUDIT, - SYS_VAR_OB_ENABLE_TRACE_LOG, - SYS_VAR_OB_ENABLE_TRANSFORMATION, - SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM, - SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK, - SYS_VAR_OB_GLOBAL_DEBUG_SYNC, - SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT, - SYS_VAR_OB_LAST_SCHEMA_VERSION, - SYS_VAR_OB_LOG_LEVEL, - SYS_VAR_OB_MAX_PARALLEL_DEGREE, - SYS_VAR_OB_ORG_CLUSTER_ID, - SYS_VAR_OB_PL_BLOCK_TIMEOUT, - SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE, - SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE, - SYS_VAR_OB_PLAN_CACHE_PERCENTAGE, - SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION, - SYS_VAR_OB_PROXY_PARTITION_HIT, - SYS_VAR_OB_PROXY_SET_TRX_EXECUTED, - SYS_VAR_OB_PROXY_USER_PRIVILEGE, - SYS_VAR_OB_QUERY_TIMEOUT, - SYS_VAR_OB_READ_CONSISTENCY, - SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE, - SYS_VAR_OB_ROUTE_POLICY, - SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT, - SYS_VAR_OB_SQL_AUDIT_PERCENTAGE, - SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE, - SYS_VAR_OB_STATEMENT_TRACE_ID, - SYS_VAR_OB_STMT_PARALLEL_DEGREE, - SYS_VAR_OB_TCP_INVITED_NODES, - SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE, - SYS_VAR_OB_TIMESTAMP_SERVICE, - SYS_VAR_OB_TRACE_INFO, - SYS_VAR_OB_TRX_IDLE_TIMEOUT, - SYS_VAR_OB_TRX_LOCK_TIMEOUT, - SYS_VAR_OB_TRX_TIMEOUT, - SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES, - SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES, - SYS_VAR_PARALLEL_MAX_SERVERS, - SYS_VAR_PARALLEL_SERVERS_TARGET, - SYS_VAR_PERFORMANCE_SCHEMA, - SYS_VAR_PLSQL_WARNINGS, - SYS_VAR_PLUGIN_DIR, - SYS_VAR_PROTOCOL_VERSION, - SYS_VAR_QUERY_CACHE_SIZE, - SYS_VAR_QUERY_CACHE_TYPE, - SYS_VAR_READ_ONLY, - SYS_VAR_RECYCLEBIN, - SYS_VAR_RESOURCE_MANAGER_PLAN, - SYS_VAR_SECURE_FILE_PRIV, - SYS_VAR_SERVER_ID, - SYS_VAR_SQL_AUTO_IS_NULL, - SYS_VAR_SQL_MODE, - SYS_VAR_SQL_QUOTE_SHOW_CREATE, - SYS_VAR_SQL_SAFE_UPDATES, - SYS_VAR_SQL_SELECT_LIMIT, - SYS_VAR_SQL_THROTTLE_CPU, - SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY, - SYS_VAR_SQL_THROTTLE_IO, - SYS_VAR_SQL_THROTTLE_LOGICAL_READS, - SYS_VAR_SQL_THROTTLE_NETWORK, - SYS_VAR_SQL_THROTTLE_PRIORITY, - SYS_VAR_SQL_THROTTLE_RT, - SYS_VAR_SQL_WARNINGS, - SYS_VAR_SSL_CA, - SYS_VAR_SSL_CAPATH, - SYS_VAR_SSL_CERT, - SYS_VAR_SSL_CIPHER, - SYS_VAR_SSL_CRL, - SYS_VAR_SSL_CRLPATH, - SYS_VAR_SSL_KEY, - SYS_VAR_SYSTEM_TIME_ZONE, - SYS_VAR_TIME_FORMAT, - SYS_VAR_TIME_ZONE, - SYS_VAR_TIMESTAMP, - SYS_VAR_TLS_VERSION, - SYS_VAR_TMP_TABLE_SIZE, - SYS_VAR_TMPDIR, - SYS_VAR_TRACEFILE_IDENTIFIER, - SYS_VAR_TRANSACTION_ISOLATION, - SYS_VAR_TRANSACTION_READ_ONLY, - SYS_VAR_TX_ISOLATION, - SYS_VAR_TX_READ_ONLY, - SYS_VAR_UNDO_RETENTION, - SYS_VAR_UNIQUE_CHECKS, - SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME, - SYS_VAR_VALIDATE_PASSWORD_LENGTH, - SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT, - SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT, - SYS_VAR_VALIDATE_PASSWORD_POLICY, - SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT, - SYS_VAR_VERSION, - SYS_VAR_VERSION_COMMENT, - SYS_VAR_VERSION_COMPILE_MACHINE, - SYS_VAR_VERSION_COMPILE_OS, - SYS_VAR_WAIT_TIMEOUT, - SYS_VAR_WARNING_COUNT}; +const ObSysVarClassType ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[] = { + SYS_VAR__ENABLE_PARALLEL_DML, + SYS_VAR__ENABLE_PARALLEL_QUERY, + SYS_VAR__FORCE_PARALLEL_DML_DOP, + SYS_VAR__FORCE_PARALLEL_QUERY_DOP, + SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO, + SYS_VAR__NLJ_BATCHING_ENABLED, + SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED, + SYS_VAR__OB_PX_BCAST_OPTIMIZATION, + SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD, + SYS_VAR__OB_USE_PARALLEL_EXECUTION, + SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING, + SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT, + SYS_VAR__PX_BROADCAST_FUDGE_FACTOR, + SYS_VAR__PX_MIN_GRANULES_PER_SLAVE, + SYS_VAR__PX_PARTITION_SCAN_THRESHOLD, + SYS_VAR_AUTO_INCREMENT_CACHE_SIZE, + SYS_VAR_AUTO_INCREMENT_INCREMENT, + SYS_VAR_AUTO_INCREMENT_OFFSET, + SYS_VAR_AUTOCOMMIT, + SYS_VAR_BINLOG_ROW_IMAGE, + SYS_VAR_BLOCK_ENCRYPTION_MODE, + SYS_VAR_CHARACTER_SET_CLIENT, + SYS_VAR_CHARACTER_SET_CONNECTION, + SYS_VAR_CHARACTER_SET_DATABASE, + SYS_VAR_CHARACTER_SET_FILESYSTEM, + SYS_VAR_CHARACTER_SET_RESULTS, + SYS_VAR_CHARACTER_SET_SERVER, + SYS_VAR_CHARACTER_SET_SYSTEM, + SYS_VAR_COLLATION_CONNECTION, + SYS_VAR_COLLATION_DATABASE, + SYS_VAR_COLLATION_SERVER, + SYS_VAR_CONCURRENT_INSERT, + SYS_VAR_CONNECT_TIMEOUT, + SYS_VAR_DATADIR, + SYS_VAR_DEBUG_SYNC, + SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN, + SYS_VAR_DEFAULT_PASSWORD_LIFETIME, + SYS_VAR_DISABLED_STORAGE_ENGINES, + SYS_VAR_DIV_PRECISION_INCREMENT, + SYS_VAR_ERROR_COUNT, + SYS_VAR_ERROR_ON_OVERLAP_TIME, + SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP, + SYS_VAR_FOREIGN_KEY_CHECKS, + SYS_VAR_GENERAL_LOG, + SYS_VAR_GROUP_CONCAT_MAX_LEN, + SYS_VAR_HAVE_OPENSSL, + SYS_VAR_HAVE_PROFILING, + SYS_VAR_HAVE_SSL, + SYS_VAR_HOSTNAME, + SYS_VAR_IDENTITY, + SYS_VAR_INIT_CONNECT, + SYS_VAR_INTERACTIVE_TIMEOUT, + SYS_VAR_IS_RESULT_ACCURATE, + SYS_VAR_LAST_INSERT_ID, + SYS_VAR_LC_MESSAGES, + SYS_VAR_LICENSE, + SYS_VAR_LOCAL_INFILE, + SYS_VAR_LOCK_WAIT_TIMEOUT, + SYS_VAR_LONG_QUERY_TIME, + SYS_VAR_LOWER_CASE_TABLE_NAMES, + SYS_VAR_MAX_ALLOWED_PACKET, + SYS_VAR_MAX_CONNECTIONS, + SYS_VAR_MAX_EXECUTION_TIME, + SYS_VAR_MAX_SP_RECURSION_DEPTH, + SYS_VAR_MAX_USER_CONNECTIONS, + SYS_VAR_NET_BUFFER_LENGTH, + SYS_VAR_NET_READ_TIMEOUT, + SYS_VAR_NET_WRITE_TIMEOUT, + SYS_VAR_NLS_CALENDAR, + SYS_VAR_NLS_CHARACTERSET, + SYS_VAR_NLS_COMP, + SYS_VAR_NLS_CURRENCY, + SYS_VAR_NLS_DATE_FORMAT, + SYS_VAR_NLS_DATE_LANGUAGE, + SYS_VAR_NLS_DUAL_CURRENCY, + SYS_VAR_NLS_ISO_CURRENCY, + SYS_VAR_NLS_LANGUAGE, + SYS_VAR_NLS_LENGTH_SEMANTICS, + SYS_VAR_NLS_NCHAR_CHARACTERSET, + SYS_VAR_NLS_NCHAR_CONV_EXCP, + SYS_VAR_NLS_NUMERIC_CHARACTERS, + SYS_VAR_NLS_SORT, + SYS_VAR_NLS_TERRITORY, + SYS_VAR_NLS_TIMESTAMP_FORMAT, + SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT, + SYS_VAR_OB_BNL_JOIN_CACHE_SIZE, + SYS_VAR_OB_CAPABILITY_FLAG, + SYS_VAR_OB_CHECK_SYS_VARIABLE, + SYS_VAR_OB_COMPATIBILITY_MODE, + SYS_VAR_OB_CREATE_TABLE_STRICT_MODE, + SYS_VAR_OB_DEFAULT_REPLICA_NUM, + SYS_VAR_OB_EARLY_LOCK_RELEASE, + SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN, + SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT, + SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN, + SYS_VAR_OB_ENABLE_HASH_GROUP_BY, + SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT, + SYS_VAR_OB_ENABLE_JIT, + SYS_VAR_OB_ENABLE_PLAN_CACHE, + SYS_VAR_OB_ENABLE_SQL_AUDIT, + SYS_VAR_OB_ENABLE_TRACE_LOG, + SYS_VAR_OB_ENABLE_TRANSFORMATION, + SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM, + SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK, + SYS_VAR_OB_GLOBAL_DEBUG_SYNC, + SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT, + SYS_VAR_OB_LAST_SCHEMA_VERSION, + SYS_VAR_OB_LOG_LEVEL, + SYS_VAR_OB_MAX_PARALLEL_DEGREE, + SYS_VAR_OB_ORG_CLUSTER_ID, + SYS_VAR_OB_PL_BLOCK_TIMEOUT, + SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE, + SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE, + SYS_VAR_OB_PLAN_CACHE_PERCENTAGE, + SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION, + SYS_VAR_OB_PROXY_PARTITION_HIT, + SYS_VAR_OB_PROXY_SET_TRX_EXECUTED, + SYS_VAR_OB_PROXY_USER_PRIVILEGE, + SYS_VAR_OB_QUERY_TIMEOUT, + SYS_VAR_OB_READ_CONSISTENCY, + SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE, + SYS_VAR_OB_ROUTE_POLICY, + SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT, + SYS_VAR_OB_SQL_AUDIT_PERCENTAGE, + SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE, + SYS_VAR_OB_STATEMENT_TRACE_ID, + SYS_VAR_OB_STMT_PARALLEL_DEGREE, + SYS_VAR_OB_TCP_INVITED_NODES, + SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE, + SYS_VAR_OB_TIMESTAMP_SERVICE, + SYS_VAR_OB_TRACE_INFO, + SYS_VAR_OB_TRX_IDLE_TIMEOUT, + SYS_VAR_OB_TRX_LOCK_TIMEOUT, + SYS_VAR_OB_TRX_TIMEOUT, + SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES, + SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES, + SYS_VAR_PARALLEL_MAX_SERVERS, + SYS_VAR_PARALLEL_SERVERS_TARGET, + SYS_VAR_PERFORMANCE_SCHEMA, + SYS_VAR_PLSQL_WARNINGS, + SYS_VAR_PLUGIN_DIR, + SYS_VAR_PROTOCOL_VERSION, + SYS_VAR_QUERY_CACHE_SIZE, + SYS_VAR_QUERY_CACHE_TYPE, + SYS_VAR_READ_ONLY, + SYS_VAR_RECYCLEBIN, + SYS_VAR_RESOURCE_MANAGER_PLAN, + SYS_VAR_SECURE_FILE_PRIV, + SYS_VAR_SERVER_ID, + SYS_VAR_SESSION_TRACK_SCHEMA, + SYS_VAR_SESSION_TRACK_STATE_CHANGE, + SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES, + SYS_VAR_SQL_AUTO_IS_NULL, + SYS_VAR_SQL_MODE, + SYS_VAR_SQL_QUOTE_SHOW_CREATE, + SYS_VAR_SQL_SAFE_UPDATES, + SYS_VAR_SQL_SELECT_LIMIT, + SYS_VAR_SQL_THROTTLE_CPU, + SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY, + SYS_VAR_SQL_THROTTLE_IO, + SYS_VAR_SQL_THROTTLE_LOGICAL_READS, + SYS_VAR_SQL_THROTTLE_NETWORK, + SYS_VAR_SQL_THROTTLE_PRIORITY, + SYS_VAR_SQL_THROTTLE_RT, + SYS_VAR_SQL_WARNINGS, + SYS_VAR_SSL_CA, + SYS_VAR_SSL_CAPATH, + SYS_VAR_SSL_CERT, + SYS_VAR_SSL_CIPHER, + SYS_VAR_SSL_CRL, + SYS_VAR_SSL_CRLPATH, + SYS_VAR_SSL_KEY, + SYS_VAR_SYSTEM_TIME_ZONE, + SYS_VAR_TIME_FORMAT, + SYS_VAR_TIME_ZONE, + SYS_VAR_TIMESTAMP, + SYS_VAR_TLS_VERSION, + SYS_VAR_TMP_TABLE_SIZE, + SYS_VAR_TMPDIR, + SYS_VAR_TRACEFILE_IDENTIFIER, + SYS_VAR_TRANSACTION_ISOLATION, + SYS_VAR_TRANSACTION_READ_ONLY, + SYS_VAR_TX_ISOLATION, + SYS_VAR_TX_READ_ONLY, + SYS_VAR_UNDO_RETENTION, + SYS_VAR_UNIQUE_CHECKS, + SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME, + SYS_VAR_VALIDATE_PASSWORD_LENGTH, + SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT, + SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT, + SYS_VAR_VALIDATE_PASSWORD_POLICY, + SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT, + SYS_VAR_VERSION, + SYS_VAR_VERSION_COMMENT, + SYS_VAR_VERSION_COMPILE_MACHINE, + SYS_VAR_VERSION_COMPILE_OS, + SYS_VAR_WAIT_TIMEOUT, + SYS_VAR_WARNING_COUNT +}; -const char* ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = {"auto_increment_increment", - "auto_increment_offset", - "autocommit", - "character_set_client", - "character_set_connection", - "character_set_database", - "character_set_results", - "character_set_server", - "character_set_system", - "collation_connection", - "collation_database", - "collation_server", - "interactive_timeout", - "last_insert_id", - "max_allowed_packet", - "sql_mode", - "time_zone", - "tx_isolation", - "version_comment", - "wait_timeout", - "binlog_row_image", - "character_set_filesystem", - "connect_timeout", - "datadir", - "debug_sync", - "div_precision_increment", - "explicit_defaults_for_timestamp", - "group_concat_max_len", - "identity", - "lower_case_table_names", - "net_read_timeout", - "net_write_timeout", - "read_only", - "sql_auto_is_null", - "sql_select_limit", - "timestamp", - "tx_read_only", - "version", - "sql_warnings", - "max_user_connections", - "init_connect", - "license", - "net_buffer_length", - "system_time_zone", - "query_cache_size", - "query_cache_type", - "sql_quote_show_create", - "max_sp_recursion_depth", - "sql_safe_updates", - "concurrent_insert", - "default_authentication_plugin", - "disabled_storage_engines", - "error_count", - "general_log", - "have_openssl", - "have_profiling", - "have_ssl", - "hostname", - "lc_messages", - "local_infile", - "lock_wait_timeout", - "long_query_time", - "max_connections", - "max_execution_time", - "protocol_version", - "server_id", - "ssl_ca", - "ssl_capath", - "ssl_cert", - "ssl_cipher", - "ssl_crl", - "ssl_crlpath", - "ssl_key", - "time_format", - "tls_version", - "tmp_table_size", - "tmpdir", - "unique_checks", - "version_compile_machine", - "version_compile_os", - "warning_count", - "ob_default_replica_num", - "ob_interm_result_mem_limit", - "ob_proxy_partition_hit", - "ob_log_level", - "ob_max_parallel_degree", - "ob_query_timeout", - "ob_read_consistency", - "ob_enable_transformation", - "ob_trx_timeout", - "ob_enable_plan_cache", - "ob_enable_index_direct_select", - "ob_proxy_set_trx_executed", - "ob_enable_aggregation_pushdown", - "ob_last_schema_version", - "ob_global_debug_sync", - "ob_proxy_global_variables_version", - "ob_enable_trace_log", - "ob_enable_hash_group_by", - "ob_enable_blk_nestedloop_join", - "ob_bnl_join_cache_size", - "ob_proxy_user_privilege", - "ob_org_cluster_id", - "ob_plan_cache_percentage", - "ob_plan_cache_evict_high_percentage", - "ob_plan_cache_evict_low_percentage", - "recyclebin", - "ob_capability_flag", - "ob_stmt_parallel_degree", - "is_result_accurate", - "error_on_overlap_time", - "ob_compatibility_mode", - "ob_create_table_strict_mode", - "ob_sql_work_area_percentage", - "ob_safe_weak_read_snapshot", - "ob_route_policy", - "ob_enable_transmission_checksum", - "foreign_key_checks", - "ob_statement_trace_id", - "ob_enable_truncate_flashback", - "ob_tcp_invited_nodes", - "sql_throttle_current_priority", - "sql_throttle_priority", - "sql_throttle_rt", - "sql_throttle_cpu", - "sql_throttle_io", - "sql_throttle_network", - "sql_throttle_logical_reads", - "auto_increment_cache_size", - "ob_enable_jit", - "ob_temp_tablespace_size_percentage", - "_optimizer_adaptive_cursor_sharing", - "ob_timestamp_service", - "plugin_dir", - "undo_retention", - "_ob_use_parallel_execution", - "ob_sql_audit_percentage", - "ob_enable_sql_audit", - "optimizer_use_sql_plan_baselines", - "optimizer_capture_sql_plan_baselines", - "parallel_max_servers", - "parallel_servers_target", - "ob_early_lock_release", - "ob_trx_idle_timeout", - "block_encryption_mode", - "nls_date_format", - "nls_timestamp_format", - "nls_timestamp_tz_format", - "ob_reserved_meta_memory_percentage", - "ob_check_sys_variable", - "nls_language", - "nls_territory", - "nls_sort", - "nls_comp", - "nls_characterset", - "nls_nchar_characterset", - "nls_date_language", - "nls_length_semantics", - "nls_nchar_conv_excp", - "nls_calendar", - "nls_numeric_characters", - "_nlj_batching_enabled", - "tracefile_identifier", - "_groupby_nopushdown_cut_ratio", - "_px_broadcast_fudge_factor", - "_primary_zone_entity_count", - "transaction_isolation", - "ob_trx_lock_timeout", - "validate_password_check_user_name", - "validate_password_length", - "validate_password_mixed_case_count", - "validate_password_number_count", - "validate_password_policy", - "validate_password_special_char_count", - "default_password_lifetime", - "ob_trace_info", - "ob_enable_batched_multi_statement", - "_px_partition_scan_threshold", - "_ob_px_bcast_optimization", - "_ob_px_slave_mapping_threshold", - "_enable_parallel_dml", - "_px_min_granules_per_slave", - "secure_file_priv", - "plsql_warnings", - "_enable_parallel_query", - "_force_parallel_query_dop", - "_force_parallel_dml_dop", - "ob_pl_block_timeout", - "transaction_read_only", - "resource_manager_plan", - "performance_schema", - "nls_currency", - "nls_iso_currency", - "nls_dual_currency", - "_ob_proxy_session_temporary_table_used"}; +const char *ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_ID[] = { + "auto_increment_increment", + "auto_increment_offset", + "autocommit", + "character_set_client", + "character_set_connection", + "character_set_database", + "character_set_results", + "character_set_server", + "character_set_system", + "collation_connection", + "collation_database", + "collation_server", + "interactive_timeout", + "last_insert_id", + "max_allowed_packet", + "sql_mode", + "time_zone", + "tx_isolation", + "version_comment", + "wait_timeout", + "binlog_row_image", + "character_set_filesystem", + "connect_timeout", + "datadir", + "debug_sync", + "div_precision_increment", + "explicit_defaults_for_timestamp", + "group_concat_max_len", + "identity", + "lower_case_table_names", + "net_read_timeout", + "net_write_timeout", + "read_only", + "sql_auto_is_null", + "sql_select_limit", + "timestamp", + "tx_read_only", + "version", + "sql_warnings", + "max_user_connections", + "init_connect", + "license", + "net_buffer_length", + "system_time_zone", + "query_cache_size", + "query_cache_type", + "sql_quote_show_create", + "max_sp_recursion_depth", + "sql_safe_updates", + "concurrent_insert", + "default_authentication_plugin", + "disabled_storage_engines", + "error_count", + "general_log", + "have_openssl", + "have_profiling", + "have_ssl", + "hostname", + "lc_messages", + "local_infile", + "lock_wait_timeout", + "long_query_time", + "max_connections", + "max_execution_time", + "protocol_version", + "server_id", + "ssl_ca", + "ssl_capath", + "ssl_cert", + "ssl_cipher", + "ssl_crl", + "ssl_crlpath", + "ssl_key", + "time_format", + "tls_version", + "tmp_table_size", + "tmpdir", + "unique_checks", + "version_compile_machine", + "version_compile_os", + "warning_count", + "session_track_schema", + "session_track_system_variables", + "session_track_state_change", + "ob_default_replica_num", + "ob_interm_result_mem_limit", + "ob_proxy_partition_hit", + "ob_log_level", + "ob_max_parallel_degree", + "ob_query_timeout", + "ob_read_consistency", + "ob_enable_transformation", + "ob_trx_timeout", + "ob_enable_plan_cache", + "ob_enable_index_direct_select", + "ob_proxy_set_trx_executed", + "ob_enable_aggregation_pushdown", + "ob_last_schema_version", + "ob_global_debug_sync", + "ob_proxy_global_variables_version", + "ob_enable_trace_log", + "ob_enable_hash_group_by", + "ob_enable_blk_nestedloop_join", + "ob_bnl_join_cache_size", + "ob_proxy_user_privilege", + "ob_org_cluster_id", + "ob_plan_cache_percentage", + "ob_plan_cache_evict_high_percentage", + "ob_plan_cache_evict_low_percentage", + "recyclebin", + "ob_capability_flag", + "ob_stmt_parallel_degree", + "is_result_accurate", + "error_on_overlap_time", + "ob_compatibility_mode", + "ob_create_table_strict_mode", + "ob_sql_work_area_percentage", + "ob_safe_weak_read_snapshot", + "ob_route_policy", + "ob_enable_transmission_checksum", + "foreign_key_checks", + "ob_statement_trace_id", + "ob_enable_truncate_flashback", + "ob_tcp_invited_nodes", + "sql_throttle_current_priority", + "sql_throttle_priority", + "sql_throttle_rt", + "sql_throttle_cpu", + "sql_throttle_io", + "sql_throttle_network", + "sql_throttle_logical_reads", + "auto_increment_cache_size", + "ob_enable_jit", + "ob_temp_tablespace_size_percentage", + "_optimizer_adaptive_cursor_sharing", + "ob_timestamp_service", + "plugin_dir", + "undo_retention", + "_ob_use_parallel_execution", + "ob_sql_audit_percentage", + "ob_enable_sql_audit", + "optimizer_use_sql_plan_baselines", + "optimizer_capture_sql_plan_baselines", + "parallel_max_servers", + "parallel_servers_target", + "ob_early_lock_release", + "ob_trx_idle_timeout", + "block_encryption_mode", + "nls_date_format", + "nls_timestamp_format", + "nls_timestamp_tz_format", + "ob_reserved_meta_memory_percentage", + "ob_check_sys_variable", + "nls_language", + "nls_territory", + "nls_sort", + "nls_comp", + "nls_characterset", + "nls_nchar_characterset", + "nls_date_language", + "nls_length_semantics", + "nls_nchar_conv_excp", + "nls_calendar", + "nls_numeric_characters", + "_nlj_batching_enabled", + "tracefile_identifier", + "_groupby_nopushdown_cut_ratio", + "_px_broadcast_fudge_factor", + "_primary_zone_entity_count", + "transaction_isolation", + "ob_trx_lock_timeout", + "validate_password_check_user_name", + "validate_password_length", + "validate_password_mixed_case_count", + "validate_password_number_count", + "validate_password_policy", + "validate_password_special_char_count", + "default_password_lifetime", + "ob_trace_info", + "ob_enable_batched_multi_statement", + "_px_partition_scan_threshold", + "_ob_px_bcast_optimization", + "_ob_px_slave_mapping_threshold", + "_enable_parallel_dml", + "_px_min_granules_per_slave", + "secure_file_priv", + "plsql_warnings", + "_enable_parallel_query", + "_force_parallel_query_dop", + "_force_parallel_dml_dop", + "ob_pl_block_timeout", + "transaction_read_only", + "resource_manager_plan", + "performance_schema", + "nls_currency", + "nls_iso_currency", + "nls_dual_currency", + "_ob_proxy_session_temporary_table_used" +}; -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) { return name2.case_compare(name1) > 0; } -ObSysVarClassType ObSysVarFactory::find_sys_var_id_by_name( - const ObString& sys_var_name, bool is_from_sys_table /*= false*/) +ObSysVarClassType ObSysVarFactory::find_sys_var_id_by_name(const ObString &sys_var_name, + bool is_from_sys_table /*= false*/) { int ret = OB_SUCCESS; ObSysVarClassType sys_var_id = SYS_VAR_INVALID; int64_t lower_idx = std::lower_bound(ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME, - ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME + ObSysVarFactory::ALL_SYS_VARS_COUNT, - sys_var_name, - ObSysVarFactory::sys_var_name_case_cmp) - - ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME; + ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME + ObSysVarFactory::ALL_SYS_VARS_COUNT, + sys_var_name, ObSysVarFactory::sys_var_name_case_cmp) - + ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME; if (OB_UNLIKELY(lower_idx < 0)) { ret = OB_ERR_UNEXPECTED; LOG_ERROR("invalid lower index", K(ret), K(sys_var_name), K(lower_idx), K(lbt())); } else if (OB_UNLIKELY(lower_idx > ObSysVarFactory::ALL_SYS_VARS_COUNT)) { ret = OB_ERR_UNEXPECTED; - LOG_ERROR("invalid lower index", - K(ret), - K(sys_var_name), - K(lower_idx), - LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), - K(lbt())); + LOG_ERROR("invalid lower index", K(ret), K(sys_var_name), K(lower_idx), + LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), K(lbt())); } else if (OB_UNLIKELY(ObSysVarFactory::ALL_SYS_VARS_COUNT == lower_idx)) { - // std::lower_bound() return ALL_SYS_VARS_COUNT means not found. + // std::lower_bound返回ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME + + // ObSysVarFactory::ALL_SYS_VARS_COUNT的地址,即是找不到,而不是出错 ret = OB_SEARCH_NOT_FOUND; - } else if (0 != sys_var_name.case_compare(ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[lower_idx])) { + } else if (0 != sys_var_name.case_compare( + ObSysVarFactory::SYS_VAR_NAMES_SORTED_BY_NAME[lower_idx])) { + // 找不到 ret = OB_SEARCH_NOT_FOUND; } else { - sys_var_id = ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[lower_idx]; + sys_var_id = ObSysVarFactory::SYS_VAR_IDS_SORTED_BY_NAME[lower_idx]; // 找到了 } if (OB_UNLIKELY(OB_SEARCH_NOT_FOUND == ret)) { if (is_from_sys_table) { - LOG_INFO("new system variable is added , so can not found; don't worry", - K(sys_var_name), - K(lower_idx), - LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), - K(lbt())); + LOG_INFO("new system variable is added , so can not found; don't worry", K(sys_var_name), + K(lower_idx), LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), K(lbt())); } else { - LOG_WARN("sys var name not found", - K(sys_var_name), - K(lower_idx), - LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), - K(lbt())); + LOG_WARN("sys var name not found", K(sys_var_name), K(lower_idx), + LITERAL_K(ObSysVarFactory::ALL_SYS_VARS_COUNT), K(lbt())); } } return sys_var_id; } -int ObSysVarFactory::calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_t& store_idx) +int ObSysVarFactory::calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_t &store_idx) { int ret = OB_SUCCESS; int64_t real_idx = -1; @@ -701,20 +757,18 @@ int ObSysVarFactory::calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_ if (ObSysVarsToIdxMap::has_invalid_sys_var_id()) { ret = OB_INVALID_ARGUMENT; LOG_ERROR("has invalid sys var id", K(ret), K(ObSysVarsToIdxMap::has_invalid_sys_var_id())); - } else if (OB_UNLIKELY(var_id < 0 || var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID)) { + } else if (OB_UNLIKELY(var_id < 0)) { ret = OB_INVALID_ARGUMENT; - LOG_ERROR("invalid sys var id", K(ret), K(var_id), K(ObSysVarFactory::OB_MAX_SYS_VAR_ID)); + LOG_ERROR("invalid sys var id", K(ret), K(var_id)); } else { + // 直接利用ObSysVarsIdToArrayIdx 索引数组查询到对应的store idx real_idx = ObSysVarsToIdxMap::get_store_idx(var_id); if (real_idx < 0) { ret = OB_SYS_VARS_MAYBE_DIFF_VERSION; - LOG_WARN("invalid sys var id, maybe sys vars version is different", - K(ret), - K(var_id), - K(real_idx), + LOG_WARN("invalid sys var id, maybe sys vars version is different", K(ret), K(var_id), K(real_idx), LITERAL_K(ObSysVarFactory::OB_SPECIFIC_SYS_VAR_ID_OFFSET), LITERAL_K(ObSysVarFactory::OB_SYS_VARS_COUNT)); - } + } } if (OB_FAIL(ret)) { @@ -724,7 +778,8 @@ int ObSysVarFactory::calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_ return ret; } -int ObSysVarFactory::calc_sys_var_store_idx_by_name(const common::ObString& sys_var_name, int64_t& store_idx) +int ObSysVarFactory::calc_sys_var_store_idx_by_name(const common::ObString &sys_var_name, + int64_t &store_idx) { int ret = OB_SUCCESS; ObSysVarClassType sys_var_id = find_sys_var_id_by_name(sys_var_name); @@ -739,7 +794,7 @@ bool ObSysVarFactory::is_valid_sys_var_store_idx(int64_t store_idx) return 0 <= store_idx && store_idx < ObSysVarFactory::ALL_SYS_VARS_COUNT; } -int ObSysVarFactory::get_sys_var_name_by_id(ObSysVarClassType sys_var_id, ObString& sys_var_name) +int ObSysVarFactory::get_sys_var_name_by_id(ObSysVarClassType sys_var_id, ObString &sys_var_name) { int ret = OB_SUCCESS; int64_t store_idx = -1; @@ -762,7 +817,8 @@ const ObString ObSysVarFactory::get_sys_var_name_by_id(ObSysVarClassType sys_var return sys_var_name; } -ObSysVarFactory::ObSysVarFactory() : allocator_(ObModIds::OB_COMMON_SYS_VAR_FAC) +ObSysVarFactory::ObSysVarFactory() + : allocator_(ObModIds::OB_COMMON_SYS_VAR_FAC), all_sys_vars_created_(false) { MEMSET(store_, 0, sizeof(store_)); MEMSET(store_buf_, 0, sizeof(store_buf_)); @@ -787,2217 +843,4251 @@ void ObSysVarFactory::destroy() } } allocator_.reset(); + all_sys_vars_created_ = false; } -int ObSysVarFactory::free_sys_var(ObBasicSysVar* sys_var, int64_t sys_var_idx) +int ObSysVarFactory::free_sys_var(ObBasicSysVar *sys_var, int64_t sys_var_idx) { int ret = OB_SUCCESS; - OV(OB_NOT_NULL(sys_var)); - OV(is_valid_sys_var_store_idx(sys_var_idx)); - OV(sys_var == store_[sys_var_idx], OB_ERR_UNEXPECTED, sys_var, sys_var_idx); + OV (OB_NOT_NULL(sys_var)); + OV (is_valid_sys_var_store_idx(sys_var_idx)); + OV (sys_var == store_[sys_var_idx], OB_ERR_UNEXPECTED, sys_var, sys_var_idx); if (OB_NOT_NULL(store_buf_[sys_var_idx])) { - OX(store_buf_[sys_var_idx]->~ObBasicSysVar()); - OX(allocator_.free(store_buf_[sys_var_idx])); - OX(store_buf_[sys_var_idx] = nullptr); + OX (store_buf_[sys_var_idx]->~ObBasicSysVar()); + OX (allocator_.free(store_buf_[sys_var_idx])); + OX (store_buf_[sys_var_idx] = nullptr); } - OX(store_buf_[sys_var_idx] = store_[sys_var_idx]); - OX(store_buf_[sys_var_idx]->clean_value()); - OX(store_[sys_var_idx] = nullptr); + OX (store_buf_[sys_var_idx] = store_[sys_var_idx]); + OX (store_buf_[sys_var_idx]->clean_value()); + OX (store_[sys_var_idx] = nullptr); return ret; } -int ObSysVarFactory::create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar*& sys_var) +int ObSysVarFactory::create_all_sys_vars() { int ret = OB_SUCCESS; - int64_t store_idx = -1; - ObBasicSysVar* sys_var_ptr = NULL; - if (OB_FAIL(calc_sys_var_store_idx(sys_var_id, store_idx))) { - LOG_WARN("fail to calc sys var store idx", K(ret), K(sys_var_id)); - } else if (store_idx < 0 || store_idx >= ALL_SYS_VARS_COUNT) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("unexpected store idx", K(ret), K(store_idx), K(sys_var_id)); - } else if (OB_NOT_NULL(store_[store_idx])) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("store ptr shoule be null", K(ret), K(store_idx), K(sys_var_id)); - } else { - if (OB_NOT_NULL(store_buf_[store_idx])) { - sys_var_ptr = store_buf_[store_idx]; - store_buf_[store_idx] = nullptr; + if (!all_sys_vars_created_) { + int64_t store_idx = -1; + ObBasicSysVar *sys_var_ptr = NULL; + int64_t total_mem_size = 0 + + sizeof(ObSysVarAutoIncrementIncrement) + + sizeof(ObSysVarAutoIncrementOffset) + + sizeof(ObSysVarAutocommit) + + sizeof(ObSysVarCharacterSetClient) + + sizeof(ObSysVarCharacterSetConnection) + + sizeof(ObSysVarCharacterSetDatabase) + + sizeof(ObSysVarCharacterSetResults) + + sizeof(ObSysVarCharacterSetServer) + + sizeof(ObSysVarCharacterSetSystem) + + sizeof(ObSysVarCollationConnection) + + sizeof(ObSysVarCollationDatabase) + + sizeof(ObSysVarCollationServer) + + sizeof(ObSysVarInteractiveTimeout) + + sizeof(ObSysVarLastInsertId) + + sizeof(ObSysVarMaxAllowedPacket) + + sizeof(ObSysVarSqlMode) + + sizeof(ObSysVarTimeZone) + + sizeof(ObSysVarTxIsolation) + + sizeof(ObSysVarVersionComment) + + sizeof(ObSysVarWaitTimeout) + + sizeof(ObSysVarBinlogRowImage) + + sizeof(ObSysVarCharacterSetFilesystem) + + sizeof(ObSysVarConnectTimeout) + + sizeof(ObSysVarDatadir) + + sizeof(ObSysVarDebugSync) + + sizeof(ObSysVarDivPrecisionIncrement) + + sizeof(ObSysVarExplicitDefaultsForTimestamp) + + sizeof(ObSysVarGroupConcatMaxLen) + + sizeof(ObSysVarIdentity) + + sizeof(ObSysVarLowerCaseTableNames) + + sizeof(ObSysVarNetReadTimeout) + + sizeof(ObSysVarNetWriteTimeout) + + sizeof(ObSysVarReadOnly) + + sizeof(ObSysVarSqlAutoIsNull) + + sizeof(ObSysVarSqlSelectLimit) + + sizeof(ObSysVarTimestamp) + + sizeof(ObSysVarTxReadOnly) + + sizeof(ObSysVarVersion) + + sizeof(ObSysVarSqlWarnings) + + sizeof(ObSysVarMaxUserConnections) + + sizeof(ObSysVarInitConnect) + + sizeof(ObSysVarLicense) + + sizeof(ObSysVarNetBufferLength) + + sizeof(ObSysVarSystemTimeZone) + + sizeof(ObSysVarQueryCacheSize) + + sizeof(ObSysVarQueryCacheType) + + sizeof(ObSysVarSqlQuoteShowCreate) + + sizeof(ObSysVarMaxSpRecursionDepth) + + sizeof(ObSysVarSqlSafeUpdates) + + sizeof(ObSysVarConcurrentInsert) + + sizeof(ObSysVarDefaultAuthenticationPlugin) + + sizeof(ObSysVarDisabledStorageEngines) + + sizeof(ObSysVarErrorCount) + + sizeof(ObSysVarGeneralLog) + + sizeof(ObSysVarHaveOpenssl) + + sizeof(ObSysVarHaveProfiling) + + sizeof(ObSysVarHaveSsl) + + sizeof(ObSysVarHostname) + + sizeof(ObSysVarLcMessages) + + sizeof(ObSysVarLocalInfile) + + sizeof(ObSysVarLockWaitTimeout) + + sizeof(ObSysVarLongQueryTime) + + sizeof(ObSysVarMaxConnections) + + sizeof(ObSysVarMaxExecutionTime) + + sizeof(ObSysVarProtocolVersion) + + sizeof(ObSysVarServerId) + + sizeof(ObSysVarSslCa) + + sizeof(ObSysVarSslCapath) + + sizeof(ObSysVarSslCert) + + sizeof(ObSysVarSslCipher) + + sizeof(ObSysVarSslCrl) + + sizeof(ObSysVarSslCrlpath) + + sizeof(ObSysVarSslKey) + + sizeof(ObSysVarTimeFormat) + + sizeof(ObSysVarTlsVersion) + + sizeof(ObSysVarTmpTableSize) + + sizeof(ObSysVarTmpdir) + + sizeof(ObSysVarUniqueChecks) + + sizeof(ObSysVarVersionCompileMachine) + + sizeof(ObSysVarVersionCompileOs) + + sizeof(ObSysVarWarningCount) + + sizeof(ObSysVarSessionTrackSchema) + + sizeof(ObSysVarSessionTrackSystemVariables) + + sizeof(ObSysVarSessionTrackStateChange) + + sizeof(ObSysVarObDefaultReplicaNum) + + sizeof(ObSysVarObIntermResultMemLimit) + + sizeof(ObSysVarObProxyPartitionHit) + + sizeof(ObSysVarObLogLevel) + + sizeof(ObSysVarObMaxParallelDegree) + + sizeof(ObSysVarObQueryTimeout) + + sizeof(ObSysVarObReadConsistency) + + sizeof(ObSysVarObEnableTransformation) + + sizeof(ObSysVarObTrxTimeout) + + sizeof(ObSysVarObEnablePlanCache) + + sizeof(ObSysVarObEnableIndexDirectSelect) + + sizeof(ObSysVarObProxySetTrxExecuted) + + sizeof(ObSysVarObEnableAggregationPushdown) + + sizeof(ObSysVarObLastSchemaVersion) + + sizeof(ObSysVarObGlobalDebugSync) + + sizeof(ObSysVarObProxyGlobalVariablesVersion) + + sizeof(ObSysVarObEnableTraceLog) + + sizeof(ObSysVarObEnableHashGroupBy) + + sizeof(ObSysVarObEnableBlkNestedloopJoin) + + sizeof(ObSysVarObBnlJoinCacheSize) + + sizeof(ObSysVarObProxyUserPrivilege) + + sizeof(ObSysVarObOrgClusterId) + + sizeof(ObSysVarObPlanCachePercentage) + + sizeof(ObSysVarObPlanCacheEvictHighPercentage) + + sizeof(ObSysVarObPlanCacheEvictLowPercentage) + + sizeof(ObSysVarRecyclebin) + + sizeof(ObSysVarObCapabilityFlag) + + sizeof(ObSysVarObStmtParallelDegree) + + sizeof(ObSysVarIsResultAccurate) + + sizeof(ObSysVarErrorOnOverlapTime) + + sizeof(ObSysVarObCompatibilityMode) + + sizeof(ObSysVarObCreateTableStrictMode) + + sizeof(ObSysVarObSqlWorkAreaPercentage) + + sizeof(ObSysVarObSafeWeakReadSnapshot) + + sizeof(ObSysVarObRoutePolicy) + + sizeof(ObSysVarObEnableTransmissionChecksum) + + sizeof(ObSysVarForeignKeyChecks) + + sizeof(ObSysVarObStatementTraceId) + + sizeof(ObSysVarObEnableTruncateFlashback) + + sizeof(ObSysVarObTcpInvitedNodes) + + sizeof(ObSysVarSqlThrottleCurrentPriority) + + sizeof(ObSysVarSqlThrottlePriority) + + sizeof(ObSysVarSqlThrottleRt) + + sizeof(ObSysVarSqlThrottleCpu) + + sizeof(ObSysVarSqlThrottleIo) + + sizeof(ObSysVarSqlThrottleNetwork) + + sizeof(ObSysVarSqlThrottleLogicalReads) + + sizeof(ObSysVarAutoIncrementCacheSize) + + sizeof(ObSysVarObEnableJit) + + sizeof(ObSysVarObTempTablespaceSizePercentage) + + sizeof(ObSysVarOptimizerAdaptiveCursorSharing) + + sizeof(ObSysVarObTimestampService) + + sizeof(ObSysVarPluginDir) + + sizeof(ObSysVarUndoRetention) + + sizeof(ObSysVarObUseParallelExecution) + + sizeof(ObSysVarObSqlAuditPercentage) + + sizeof(ObSysVarObEnableSqlAudit) + + sizeof(ObSysVarOptimizerUseSqlPlanBaselines) + + sizeof(ObSysVarOptimizerCaptureSqlPlanBaselines) + + sizeof(ObSysVarParallelMaxServers) + + sizeof(ObSysVarParallelServersTarget) + + sizeof(ObSysVarObEarlyLockRelease) + + sizeof(ObSysVarObTrxIdleTimeout) + + sizeof(ObSysVarBlockEncryptionMode) + + sizeof(ObSysVarNlsDateFormat) + + sizeof(ObSysVarNlsTimestampFormat) + + sizeof(ObSysVarNlsTimestampTzFormat) + + sizeof(ObSysVarObReservedMetaMemoryPercentage) + + sizeof(ObSysVarObCheckSysVariable) + + sizeof(ObSysVarNlsLanguage) + + sizeof(ObSysVarNlsTerritory) + + sizeof(ObSysVarNlsSort) + + sizeof(ObSysVarNlsComp) + + sizeof(ObSysVarNlsCharacterset) + + sizeof(ObSysVarNlsNcharCharacterset) + + sizeof(ObSysVarNlsDateLanguage) + + sizeof(ObSysVarNlsLengthSemantics) + + sizeof(ObSysVarNlsNcharConvExcp) + + sizeof(ObSysVarNlsCalendar) + + sizeof(ObSysVarNlsNumericCharacters) + + sizeof(ObSysVarNljBatchingEnabled) + + sizeof(ObSysVarTracefileIdentifier) + + sizeof(ObSysVarGroupbyNopushdownCutRatio) + + sizeof(ObSysVarPxBroadcastFudgeFactor) + + sizeof(ObSysVarPrimaryZoneEntityCount) + + sizeof(ObSysVarTransactionIsolation) + + sizeof(ObSysVarObTrxLockTimeout) + + sizeof(ObSysVarValidatePasswordCheckUserName) + + sizeof(ObSysVarValidatePasswordLength) + + sizeof(ObSysVarValidatePasswordMixedCaseCount) + + sizeof(ObSysVarValidatePasswordNumberCount) + + sizeof(ObSysVarValidatePasswordPolicy) + + sizeof(ObSysVarValidatePasswordSpecialCharCount) + + sizeof(ObSysVarDefaultPasswordLifetime) + + sizeof(ObSysVarObTraceInfo) + + sizeof(ObSysVarObEnableBatchedMultiStatement) + + sizeof(ObSysVarPxPartitionScanThreshold) + + sizeof(ObSysVarObPxBcastOptimization) + + sizeof(ObSysVarObPxSlaveMappingThreshold) + + sizeof(ObSysVarEnableParallelDml) + + sizeof(ObSysVarPxMinGranulesPerSlave) + + sizeof(ObSysVarSecureFilePriv) + + sizeof(ObSysVarPlsqlWarnings) + + sizeof(ObSysVarEnableParallelQuery) + + sizeof(ObSysVarForceParallelQueryDop) + + sizeof(ObSysVarForceParallelDmlDop) + + sizeof(ObSysVarObPlBlockTimeout) + + sizeof(ObSysVarTransactionReadOnly) + + sizeof(ObSysVarResourceManagerPlan) + + sizeof(ObSysVarPerformanceSchema) + + sizeof(ObSysVarNlsCurrency) + + sizeof(ObSysVarNlsIsoCurrency) + + sizeof(ObSysVarNlsDualCurrency) + + sizeof(ObSysVarObProxySessionTemporaryTableUsed) + ; + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(total_mem_size))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret)); + } else { + all_sys_vars_created_ = true; } - } - if (OB_ISNULL(sys_var_ptr)) { - switch (sys_var_id) { - case SYS_VAR_AUTO_INCREMENT_INCREMENT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutoIncrementIncrement)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutoIncrementIncrement))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarAutoIncrementIncrement())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarAutoIncrementIncrement", K(ret)); - } - break; - } - case SYS_VAR_AUTO_INCREMENT_OFFSET: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutoIncrementOffset)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutoIncrementOffset))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarAutoIncrementOffset())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarAutoIncrementOffset", K(ret)); - } - break; - } - case SYS_VAR_AUTOCOMMIT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutocommit)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutocommit))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarAutocommit())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarAutocommit", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_CLIENT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetClient)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetClient))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetClient())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetClient", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_CONNECTION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetConnection)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetConnection))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetConnection())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetConnection", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_DATABASE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetDatabase)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetDatabase))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetDatabase())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetDatabase", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_RESULTS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetResults)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetResults))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetResults())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetResults", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_SERVER: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetServer)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetServer))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetServer())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetServer", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_SYSTEM: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetSystem)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetSystem))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetSystem())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetSystem", K(ret)); - } - break; - } - case SYS_VAR_COLLATION_CONNECTION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCollationConnection)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCollationConnection))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCollationConnection())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCollationConnection", K(ret)); - } - break; - } - case SYS_VAR_COLLATION_DATABASE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCollationDatabase)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCollationDatabase))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCollationDatabase())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCollationDatabase", K(ret)); - } - break; - } - case SYS_VAR_COLLATION_SERVER: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCollationServer)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCollationServer))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCollationServer())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCollationServer", K(ret)); - } - break; - } - case SYS_VAR_INTERACTIVE_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInteractiveTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInteractiveTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarInteractiveTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarInteractiveTimeout", K(ret)); - } - break; - } - case SYS_VAR_LAST_INSERT_ID: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLastInsertId)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLastInsertId))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLastInsertId())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLastInsertId", K(ret)); - } - break; - } - case SYS_VAR_MAX_ALLOWED_PACKET: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxAllowedPacket)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxAllowedPacket))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarMaxAllowedPacket())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarMaxAllowedPacket", K(ret)); - } - break; - } - case SYS_VAR_SQL_MODE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlMode)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlMode))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlMode())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlMode", K(ret)); - } - break; - } - case SYS_VAR_TIME_ZONE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTimeZone)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTimeZone))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTimeZone())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTimeZone", K(ret)); - } - break; - } - case SYS_VAR_TX_ISOLATION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTxIsolation)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTxIsolation))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTxIsolation())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTxIsolation", K(ret)); - } - break; - } - case SYS_VAR_VERSION_COMMENT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersionComment)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersionComment))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarVersionComment())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarVersionComment", K(ret)); - } - break; - } - case SYS_VAR_WAIT_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarWaitTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarWaitTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarWaitTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarWaitTimeout", K(ret)); - } - break; - } - case SYS_VAR_BINLOG_ROW_IMAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarBinlogRowImage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarBinlogRowImage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarBinlogRowImage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarBinlogRowImage", K(ret)); - } - break; - } - case SYS_VAR_CHARACTER_SET_FILESYSTEM: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetFilesystem)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetFilesystem))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarCharacterSetFilesystem())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarCharacterSetFilesystem", K(ret)); - } - break; - } - case SYS_VAR_CONNECT_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarConnectTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarConnectTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarConnectTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarConnectTimeout", K(ret)); - } - break; - } - case SYS_VAR_DATADIR: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDatadir)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDatadir))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarDatadir())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarDatadir", K(ret)); - } - break; - } - case SYS_VAR_DEBUG_SYNC: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDebugSync)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDebugSync))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarDebugSync())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarDebugSync", K(ret)); - } - break; - } - case SYS_VAR_DIV_PRECISION_INCREMENT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDivPrecisionIncrement)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDivPrecisionIncrement))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarDivPrecisionIncrement())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarDivPrecisionIncrement", K(ret)); - } - break; - } - case SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarExplicitDefaultsForTimestamp)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarExplicitDefaultsForTimestamp))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarExplicitDefaultsForTimestamp())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarExplicitDefaultsForTimestamp", K(ret)); - } - break; - } - case SYS_VAR_GROUP_CONCAT_MAX_LEN: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarGroupConcatMaxLen)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarGroupConcatMaxLen))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarGroupConcatMaxLen())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarGroupConcatMaxLen", K(ret)); - } - break; - } - case SYS_VAR_IDENTITY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarIdentity)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarIdentity))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarIdentity())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarIdentity", K(ret)); - } - break; - } - case SYS_VAR_LOWER_CASE_TABLE_NAMES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLowerCaseTableNames)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLowerCaseTableNames))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLowerCaseTableNames())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLowerCaseTableNames", K(ret)); - } - break; - } - case SYS_VAR_NET_READ_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNetReadTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNetReadTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNetReadTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNetReadTimeout", K(ret)); - } - break; - } - case SYS_VAR_NET_WRITE_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNetWriteTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNetWriteTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNetWriteTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNetWriteTimeout", K(ret)); - } - break; - } - case SYS_VAR_READ_ONLY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarReadOnly)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarReadOnly))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarReadOnly())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarReadOnly", K(ret)); - } - break; - } - case SYS_VAR_SQL_AUTO_IS_NULL: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlAutoIsNull)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlAutoIsNull))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlAutoIsNull())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlAutoIsNull", K(ret)); - } - break; - } - case SYS_VAR_SQL_SELECT_LIMIT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlSelectLimit)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlSelectLimit))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlSelectLimit())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlSelectLimit", K(ret)); - } - break; - } - case SYS_VAR_TIMESTAMP: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTimestamp)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTimestamp))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTimestamp())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTimestamp", K(ret)); - } - break; - } - case SYS_VAR_TX_READ_ONLY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTxReadOnly)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTxReadOnly))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTxReadOnly())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTxReadOnly", K(ret)); - } - break; - } - case SYS_VAR_VERSION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersion)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersion))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarVersion())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarVersion", K(ret)); - } - break; - } - case SYS_VAR_SQL_WARNINGS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlWarnings)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlWarnings))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlWarnings())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlWarnings", K(ret)); - } - break; - } - case SYS_VAR_MAX_USER_CONNECTIONS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxUserConnections)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxUserConnections))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarMaxUserConnections())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarMaxUserConnections", K(ret)); - } - break; - } - case SYS_VAR_INIT_CONNECT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInitConnect)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInitConnect))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarInitConnect())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarInitConnect", K(ret)); - } - break; - } - case SYS_VAR_LICENSE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLicense)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLicense))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLicense())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLicense", K(ret)); - } - break; - } - case SYS_VAR_NET_BUFFER_LENGTH: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNetBufferLength)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNetBufferLength))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNetBufferLength())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNetBufferLength", K(ret)); - } - break; - } - case SYS_VAR_SYSTEM_TIME_ZONE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSystemTimeZone)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSystemTimeZone))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSystemTimeZone())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSystemTimeZone", K(ret)); - } - break; - } - case SYS_VAR_QUERY_CACHE_SIZE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarQueryCacheSize)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarQueryCacheSize))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarQueryCacheSize())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarQueryCacheSize", K(ret)); - } - break; - } - case SYS_VAR_QUERY_CACHE_TYPE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarQueryCacheType)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarQueryCacheType))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarQueryCacheType())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarQueryCacheType", K(ret)); - } - break; - } - case SYS_VAR_SQL_QUOTE_SHOW_CREATE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlQuoteShowCreate)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlQuoteShowCreate))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlQuoteShowCreate())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlQuoteShowCreate", K(ret)); - } - break; - } - case SYS_VAR_MAX_SP_RECURSION_DEPTH: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxSpRecursionDepth)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxSpRecursionDepth))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarMaxSpRecursionDepth())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarMaxSpRecursionDepth", K(ret)); - } - break; - } - case SYS_VAR_SQL_SAFE_UPDATES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlSafeUpdates)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlSafeUpdates))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlSafeUpdates())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlSafeUpdates", K(ret)); - } - break; - } - case SYS_VAR_CONCURRENT_INSERT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarConcurrentInsert)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarConcurrentInsert))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarConcurrentInsert())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarConcurrentInsert", K(ret)); - } - break; - } - case SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDefaultAuthenticationPlugin)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDefaultAuthenticationPlugin))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarDefaultAuthenticationPlugin())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarDefaultAuthenticationPlugin", K(ret)); - } - break; - } - case SYS_VAR_DISABLED_STORAGE_ENGINES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDisabledStorageEngines)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDisabledStorageEngines))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarDisabledStorageEngines())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarDisabledStorageEngines", K(ret)); - } - break; - } - case SYS_VAR_ERROR_COUNT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarErrorCount)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarErrorCount))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarErrorCount())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarErrorCount", K(ret)); - } - break; - } - case SYS_VAR_GENERAL_LOG: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarGeneralLog)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarGeneralLog))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarGeneralLog())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarGeneralLog", K(ret)); - } - break; - } - case SYS_VAR_HAVE_OPENSSL: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHaveOpenssl)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHaveOpenssl))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarHaveOpenssl())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarHaveOpenssl", K(ret)); - } - break; - } - case SYS_VAR_HAVE_PROFILING: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHaveProfiling)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHaveProfiling))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarHaveProfiling())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarHaveProfiling", K(ret)); - } - break; - } - case SYS_VAR_HAVE_SSL: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHaveSsl)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHaveSsl))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarHaveSsl())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarHaveSsl", K(ret)); - } - break; - } - case SYS_VAR_HOSTNAME: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHostname)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHostname))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarHostname())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarHostname", K(ret)); - } - break; - } - case SYS_VAR_LC_MESSAGES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLcMessages)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLcMessages))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLcMessages())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLcMessages", K(ret)); - } - break; - } - case SYS_VAR_LOCAL_INFILE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLocalInfile)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLocalInfile))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLocalInfile())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLocalInfile", K(ret)); - } - break; - } - case SYS_VAR_LOCK_WAIT_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLockWaitTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLockWaitTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLockWaitTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLockWaitTimeout", K(ret)); - } - break; - } - case SYS_VAR_LONG_QUERY_TIME: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLongQueryTime)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLongQueryTime))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarLongQueryTime())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarLongQueryTime", K(ret)); - } - break; - } - case SYS_VAR_MAX_CONNECTIONS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxConnections)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxConnections))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarMaxConnections())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarMaxConnections", K(ret)); - } - break; - } - case SYS_VAR_MAX_EXECUTION_TIME: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxExecutionTime)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxExecutionTime))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarMaxExecutionTime())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarMaxExecutionTime", K(ret)); - } - break; - } - case SYS_VAR_PROTOCOL_VERSION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarProtocolVersion)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarProtocolVersion))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarProtocolVersion())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarProtocolVersion", K(ret)); - } - break; - } - case SYS_VAR_SERVER_ID: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarServerId)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarServerId))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarServerId())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarServerId", K(ret)); - } - break; - } - case SYS_VAR_SSL_CA: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCa)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCa))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslCa())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslCa", K(ret)); - } - break; - } - case SYS_VAR_SSL_CAPATH: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCapath)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCapath))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslCapath())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslCapath", K(ret)); - } - break; - } - case SYS_VAR_SSL_CERT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCert)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCert))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslCert())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslCert", K(ret)); - } - break; - } - case SYS_VAR_SSL_CIPHER: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCipher)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCipher))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslCipher())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslCipher", K(ret)); - } - break; - } - case SYS_VAR_SSL_CRL: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCrl)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCrl))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslCrl())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslCrl", K(ret)); - } - break; - } - case SYS_VAR_SSL_CRLPATH: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCrlpath)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCrlpath))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslCrlpath())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslCrlpath", K(ret)); - } - break; - } - case SYS_VAR_SSL_KEY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslKey)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslKey))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSslKey())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSslKey", K(ret)); - } - break; - } - case SYS_VAR_TIME_FORMAT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTimeFormat)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTimeFormat))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTimeFormat())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTimeFormat", K(ret)); - } - break; - } - case SYS_VAR_TLS_VERSION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTlsVersion)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTlsVersion))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTlsVersion())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTlsVersion", K(ret)); - } - break; - } - case SYS_VAR_TMP_TABLE_SIZE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTmpTableSize)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTmpTableSize))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTmpTableSize())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTmpTableSize", K(ret)); - } - break; - } - case SYS_VAR_TMPDIR: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTmpdir)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTmpdir))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTmpdir())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTmpdir", K(ret)); - } - break; - } - case SYS_VAR_UNIQUE_CHECKS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarUniqueChecks)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarUniqueChecks))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarUniqueChecks())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarUniqueChecks", K(ret)); - } - break; - } - case SYS_VAR_VERSION_COMPILE_MACHINE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersionCompileMachine)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersionCompileMachine))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarVersionCompileMachine())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarVersionCompileMachine", K(ret)); - } - break; - } - case SYS_VAR_VERSION_COMPILE_OS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersionCompileOs)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersionCompileOs))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarVersionCompileOs())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarVersionCompileOs", K(ret)); - } - break; - } - case SYS_VAR_WARNING_COUNT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarWarningCount)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarWarningCount))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarWarningCount())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarWarningCount", K(ret)); - } - break; - } - case SYS_VAR_OB_DEFAULT_REPLICA_NUM: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObDefaultReplicaNum)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObDefaultReplicaNum))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObDefaultReplicaNum())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObDefaultReplicaNum", K(ret)); - } - break; - } - case SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObIntermResultMemLimit)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObIntermResultMemLimit))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObIntermResultMemLimit())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObIntermResultMemLimit", K(ret)); - } - break; - } - case SYS_VAR_OB_PROXY_PARTITION_HIT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxyPartitionHit)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxyPartitionHit))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObProxyPartitionHit())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObProxyPartitionHit", K(ret)); - } - break; - } - case SYS_VAR_OB_LOG_LEVEL: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObLogLevel)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObLogLevel))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObLogLevel())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObLogLevel", K(ret)); - } - break; - } - case SYS_VAR_OB_MAX_PARALLEL_DEGREE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObMaxParallelDegree)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObMaxParallelDegree))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObMaxParallelDegree())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObMaxParallelDegree", K(ret)); - } - break; - } - case SYS_VAR_OB_QUERY_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObQueryTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObQueryTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObQueryTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObQueryTimeout", K(ret)); - } - break; - } - case SYS_VAR_OB_READ_CONSISTENCY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObReadConsistency)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObReadConsistency))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObReadConsistency())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObReadConsistency", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_TRANSFORMATION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTransformation)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTransformation))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableTransformation())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableTransformation", K(ret)); - } - break; - } - case SYS_VAR_OB_TRX_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTrxTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTrxTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTrxTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTrxTimeout", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_PLAN_CACHE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnablePlanCache)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnablePlanCache))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnablePlanCache())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnablePlanCache", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableIndexDirectSelect)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableIndexDirectSelect))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableIndexDirectSelect())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableIndexDirectSelect", K(ret)); - } - break; - } - case SYS_VAR_OB_PROXY_SET_TRX_EXECUTED: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxySetTrxExecuted)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxySetTrxExecuted))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObProxySetTrxExecuted())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObProxySetTrxExecuted", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableAggregationPushdown)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableAggregationPushdown))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableAggregationPushdown())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableAggregationPushdown", K(ret)); - } - break; - } - case SYS_VAR_OB_LAST_SCHEMA_VERSION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObLastSchemaVersion)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObLastSchemaVersion))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObLastSchemaVersion())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObLastSchemaVersion", K(ret)); - } - break; - } - case SYS_VAR_OB_GLOBAL_DEBUG_SYNC: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObGlobalDebugSync)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObGlobalDebugSync))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObGlobalDebugSync())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObGlobalDebugSync", K(ret)); - } - break; - } - case SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxyGlobalVariablesVersion)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxyGlobalVariablesVersion))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObProxyGlobalVariablesVersion())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObProxyGlobalVariablesVersion", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_TRACE_LOG: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTraceLog)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTraceLog))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableTraceLog())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableTraceLog", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_HASH_GROUP_BY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableHashGroupBy)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableHashGroupBy))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableHashGroupBy())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableHashGroupBy", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableBlkNestedloopJoin)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableBlkNestedloopJoin))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableBlkNestedloopJoin())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableBlkNestedloopJoin", K(ret)); - } - break; - } - case SYS_VAR_OB_BNL_JOIN_CACHE_SIZE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObBnlJoinCacheSize)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObBnlJoinCacheSize))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObBnlJoinCacheSize())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObBnlJoinCacheSize", K(ret)); - } - break; - } - case SYS_VAR_OB_PROXY_USER_PRIVILEGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxyUserPrivilege)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxyUserPrivilege))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObProxyUserPrivilege())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObProxyUserPrivilege", K(ret)); - } - break; - } - case SYS_VAR_OB_ORG_CLUSTER_ID: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObOrgClusterId)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObOrgClusterId))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObOrgClusterId())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObOrgClusterId", K(ret)); - } - break; - } - case SYS_VAR_OB_PLAN_CACHE_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlanCachePercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlanCachePercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObPlanCachePercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObPlanCachePercentage", K(ret)); - } - break; - } - case SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlanCacheEvictHighPercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlanCacheEvictHighPercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObPlanCacheEvictHighPercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObPlanCacheEvictHighPercentage", K(ret)); - } - break; - } - case SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlanCacheEvictLowPercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlanCacheEvictLowPercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObPlanCacheEvictLowPercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObPlanCacheEvictLowPercentage", K(ret)); - } - break; - } - case SYS_VAR_RECYCLEBIN: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarRecyclebin)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarRecyclebin))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarRecyclebin())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarRecyclebin", K(ret)); - } - break; - } - case SYS_VAR_OB_CAPABILITY_FLAG: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCapabilityFlag)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCapabilityFlag))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObCapabilityFlag())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObCapabilityFlag", K(ret)); - } - break; - } - case SYS_VAR_OB_STMT_PARALLEL_DEGREE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObStmtParallelDegree)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObStmtParallelDegree))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObStmtParallelDegree())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObStmtParallelDegree", K(ret)); - } - break; - } - case SYS_VAR_IS_RESULT_ACCURATE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarIsResultAccurate)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarIsResultAccurate))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarIsResultAccurate())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarIsResultAccurate", K(ret)); - } - break; - } - case SYS_VAR_ERROR_ON_OVERLAP_TIME: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarErrorOnOverlapTime)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarErrorOnOverlapTime))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarErrorOnOverlapTime())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarErrorOnOverlapTime", K(ret)); - } - break; - } - case SYS_VAR_OB_COMPATIBILITY_MODE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCompatibilityMode)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCompatibilityMode))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObCompatibilityMode())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObCompatibilityMode", K(ret)); - } - break; - } - case SYS_VAR_OB_CREATE_TABLE_STRICT_MODE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCreateTableStrictMode)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCreateTableStrictMode))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObCreateTableStrictMode())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObCreateTableStrictMode", K(ret)); - } - break; - } - case SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObSqlWorkAreaPercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObSqlWorkAreaPercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObSqlWorkAreaPercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObSqlWorkAreaPercentage", K(ret)); - } - break; - } - case SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObSafeWeakReadSnapshot)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObSafeWeakReadSnapshot))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObSafeWeakReadSnapshot())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObSafeWeakReadSnapshot", K(ret)); - } - break; - } - case SYS_VAR_OB_ROUTE_POLICY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObRoutePolicy)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObRoutePolicy))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObRoutePolicy())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObRoutePolicy", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTransmissionChecksum)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTransmissionChecksum))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableTransmissionChecksum())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableTransmissionChecksum", K(ret)); - } - break; - } - case SYS_VAR_FOREIGN_KEY_CHECKS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarForeignKeyChecks)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarForeignKeyChecks))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarForeignKeyChecks())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarForeignKeyChecks", K(ret)); - } - break; - } - case SYS_VAR_OB_STATEMENT_TRACE_ID: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObStatementTraceId)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObStatementTraceId))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObStatementTraceId())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObStatementTraceId", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTruncateFlashback)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTruncateFlashback))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableTruncateFlashback())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableTruncateFlashback", K(ret)); - } - break; - } - case SYS_VAR_OB_TCP_INVITED_NODES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTcpInvitedNodes)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTcpInvitedNodes))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTcpInvitedNodes())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTcpInvitedNodes", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleCurrentPriority)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleCurrentPriority))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottleCurrentPriority())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottleCurrentPriority", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_PRIORITY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottlePriority)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottlePriority))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottlePriority())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottlePriority", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_RT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleRt)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleRt))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottleRt())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottleRt", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_CPU: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleCpu)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleCpu))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottleCpu())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottleCpu", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_IO: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleIo)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleIo))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottleIo())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottleIo", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_NETWORK: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleNetwork)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleNetwork))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottleNetwork())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottleNetwork", K(ret)); - } - break; - } - case SYS_VAR_SQL_THROTTLE_LOGICAL_READS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleLogicalReads)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleLogicalReads))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSqlThrottleLogicalReads())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSqlThrottleLogicalReads", K(ret)); - } - break; - } - case SYS_VAR_AUTO_INCREMENT_CACHE_SIZE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutoIncrementCacheSize)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutoIncrementCacheSize))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarAutoIncrementCacheSize())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarAutoIncrementCacheSize", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_JIT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableJit)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableJit))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableJit())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableJit", K(ret)); - } - break; - } - case SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTempTablespaceSizePercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTempTablespaceSizePercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTempTablespaceSizePercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTempTablespaceSizePercentage", K(ret)); - } - break; - } - case SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerAdaptiveCursorSharing)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerAdaptiveCursorSharing))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarOptimizerAdaptiveCursorSharing())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarOptimizerAdaptiveCursorSharing", K(ret)); - } - break; - } - case SYS_VAR_OB_TIMESTAMP_SERVICE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTimestampService)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTimestampService))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTimestampService())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTimestampService", K(ret)); - } - break; - } - case SYS_VAR_PLUGIN_DIR: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPluginDir)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPluginDir))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPluginDir())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPluginDir", K(ret)); - } - break; - } - case SYS_VAR_UNDO_RETENTION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarUndoRetention)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarUndoRetention))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarUndoRetention())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarUndoRetention", K(ret)); - } - break; - } - case SYS_VAR__OB_USE_PARALLEL_EXECUTION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObUseParallelExecution)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObUseParallelExecution))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObUseParallelExecution())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObUseParallelExecution", K(ret)); - } - break; - } - case SYS_VAR_OB_SQL_AUDIT_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObSqlAuditPercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObSqlAuditPercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObSqlAuditPercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObSqlAuditPercentage", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_SQL_AUDIT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableSqlAudit)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableSqlAudit))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableSqlAudit())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableSqlAudit", K(ret)); - } - break; - } - case SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerUseSqlPlanBaselines)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerUseSqlPlanBaselines))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarOptimizerUseSqlPlanBaselines())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarOptimizerUseSqlPlanBaselines", K(ret)); - } - break; - } - case SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerCaptureSqlPlanBaselines)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerCaptureSqlPlanBaselines))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarOptimizerCaptureSqlPlanBaselines())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarOptimizerCaptureSqlPlanBaselines", K(ret)); - } - break; - } - case SYS_VAR_PARALLEL_MAX_SERVERS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarParallelMaxServers)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarParallelMaxServers))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarParallelMaxServers())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarParallelMaxServers", K(ret)); - } - break; - } - case SYS_VAR_PARALLEL_SERVERS_TARGET: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarParallelServersTarget)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarParallelServersTarget))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarParallelServersTarget())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarParallelServersTarget", K(ret)); - } - break; - } - case SYS_VAR_OB_EARLY_LOCK_RELEASE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEarlyLockRelease)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEarlyLockRelease))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEarlyLockRelease())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEarlyLockRelease", K(ret)); - } - break; - } - case SYS_VAR_OB_TRX_IDLE_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTrxIdleTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTrxIdleTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTrxIdleTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTrxIdleTimeout", K(ret)); - } - break; - } - case SYS_VAR_BLOCK_ENCRYPTION_MODE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarBlockEncryptionMode)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarBlockEncryptionMode))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarBlockEncryptionMode())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarBlockEncryptionMode", K(ret)); - } - break; - } - case SYS_VAR_NLS_DATE_FORMAT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsDateFormat)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsDateFormat))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsDateFormat())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsDateFormat", K(ret)); - } - break; - } - case SYS_VAR_NLS_TIMESTAMP_FORMAT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsTimestampFormat)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsTimestampFormat))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsTimestampFormat())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsTimestampFormat", K(ret)); - } - break; - } - case SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsTimestampTzFormat)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsTimestampTzFormat))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsTimestampTzFormat())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsTimestampTzFormat", K(ret)); - } - break; - } - case SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObReservedMetaMemoryPercentage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObReservedMetaMemoryPercentage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObReservedMetaMemoryPercentage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObReservedMetaMemoryPercentage", K(ret)); - } - break; - } - case SYS_VAR_OB_CHECK_SYS_VARIABLE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCheckSysVariable)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCheckSysVariable))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObCheckSysVariable())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObCheckSysVariable", K(ret)); - } - break; - } - case SYS_VAR_NLS_LANGUAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsLanguage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsLanguage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsLanguage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsLanguage", K(ret)); - } - break; - } - case SYS_VAR_NLS_TERRITORY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsTerritory)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsTerritory))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsTerritory())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsTerritory", K(ret)); - } - break; - } - case SYS_VAR_NLS_SORT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsSort)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsSort))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsSort())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsSort", K(ret)); - } - break; - } - case SYS_VAR_NLS_COMP: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsComp)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsComp))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsComp())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsComp", K(ret)); - } - break; - } - case SYS_VAR_NLS_CHARACTERSET: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsCharacterset)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsCharacterset))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsCharacterset())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsCharacterset", K(ret)); - } - break; - } - case SYS_VAR_NLS_NCHAR_CHARACTERSET: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsNcharCharacterset)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsNcharCharacterset))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsNcharCharacterset())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsNcharCharacterset", K(ret)); - } - break; - } - case SYS_VAR_NLS_DATE_LANGUAGE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsDateLanguage)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsDateLanguage))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsDateLanguage())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsDateLanguage", K(ret)); - } - break; - } - case SYS_VAR_NLS_LENGTH_SEMANTICS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsLengthSemantics)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsLengthSemantics))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsLengthSemantics())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsLengthSemantics", K(ret)); - } - break; - } - case SYS_VAR_NLS_NCHAR_CONV_EXCP: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsNcharConvExcp)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsNcharConvExcp))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsNcharConvExcp())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsNcharConvExcp", K(ret)); - } - break; - } - case SYS_VAR_NLS_CALENDAR: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsCalendar)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsCalendar))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsCalendar())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsCalendar", K(ret)); - } - break; - } - case SYS_VAR_NLS_NUMERIC_CHARACTERS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsNumericCharacters)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsNumericCharacters))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsNumericCharacters())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsNumericCharacters", K(ret)); - } - break; - } - case SYS_VAR__NLJ_BATCHING_ENABLED: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNljBatchingEnabled)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNljBatchingEnabled))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNljBatchingEnabled())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNljBatchingEnabled", K(ret)); - } - break; - } - case SYS_VAR_TRACEFILE_IDENTIFIER: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTracefileIdentifier)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTracefileIdentifier))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTracefileIdentifier())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTracefileIdentifier", K(ret)); - } - break; - } - case SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarGroupbyNopushdownCutRatio)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarGroupbyNopushdownCutRatio))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarGroupbyNopushdownCutRatio())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarGroupbyNopushdownCutRatio", K(ret)); - } - break; - } - case SYS_VAR__PX_BROADCAST_FUDGE_FACTOR: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPxBroadcastFudgeFactor)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPxBroadcastFudgeFactor))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPxBroadcastFudgeFactor())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPxBroadcastFudgeFactor", K(ret)); - } - break; - } - case SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPrimaryZoneEntityCount)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPrimaryZoneEntityCount))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPrimaryZoneEntityCount())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPrimaryZoneEntityCount", K(ret)); - } - break; - } - case SYS_VAR_TRANSACTION_ISOLATION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTransactionIsolation)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTransactionIsolation))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTransactionIsolation())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTransactionIsolation", K(ret)); - } - break; - } - case SYS_VAR_OB_TRX_LOCK_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTrxLockTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTrxLockTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTrxLockTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTrxLockTimeout", K(ret)); - } - break; - } - case SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordCheckUserName)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordCheckUserName))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarValidatePasswordCheckUserName())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarValidatePasswordCheckUserName", K(ret)); - } - break; - } - case SYS_VAR_VALIDATE_PASSWORD_LENGTH: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordLength)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordLength))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarValidatePasswordLength())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarValidatePasswordLength", K(ret)); - } - break; - } - case SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordMixedCaseCount)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordMixedCaseCount))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarValidatePasswordMixedCaseCount())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarValidatePasswordMixedCaseCount", K(ret)); - } - break; - } - case SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordNumberCount)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordNumberCount))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarValidatePasswordNumberCount())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarValidatePasswordNumberCount", K(ret)); - } - break; - } - case SYS_VAR_VALIDATE_PASSWORD_POLICY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordPolicy)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordPolicy))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarValidatePasswordPolicy())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarValidatePasswordPolicy", K(ret)); - } - break; - } - case SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordSpecialCharCount)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordSpecialCharCount))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarValidatePasswordSpecialCharCount())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarValidatePasswordSpecialCharCount", K(ret)); - } - break; - } - case SYS_VAR_DEFAULT_PASSWORD_LIFETIME: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDefaultPasswordLifetime)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDefaultPasswordLifetime))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarDefaultPasswordLifetime())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarDefaultPasswordLifetime", K(ret)); - } - break; - } - case SYS_VAR_OB_TRACE_INFO: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTraceInfo)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTraceInfo))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObTraceInfo())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObTraceInfo", K(ret)); - } - break; - } - case SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableBatchedMultiStatement)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableBatchedMultiStatement))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObEnableBatchedMultiStatement())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObEnableBatchedMultiStatement", K(ret)); - } - break; - } - case SYS_VAR__PX_PARTITION_SCAN_THRESHOLD: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPxPartitionScanThreshold)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPxPartitionScanThreshold))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPxPartitionScanThreshold())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPxPartitionScanThreshold", K(ret)); - } - break; - } - case SYS_VAR__OB_PX_BCAST_OPTIMIZATION: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPxBcastOptimization)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPxBcastOptimization))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObPxBcastOptimization())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObPxBcastOptimization", K(ret)); - } - break; - } - case SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPxSlaveMappingThreshold)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPxSlaveMappingThreshold))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObPxSlaveMappingThreshold())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObPxSlaveMappingThreshold", K(ret)); - } - break; - } - case SYS_VAR__ENABLE_PARALLEL_DML: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarEnableParallelDml)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarEnableParallelDml))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarEnableParallelDml())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarEnableParallelDml", K(ret)); - } - break; - } - case SYS_VAR__PX_MIN_GRANULES_PER_SLAVE: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPxMinGranulesPerSlave)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPxMinGranulesPerSlave))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPxMinGranulesPerSlave())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPxMinGranulesPerSlave", K(ret)); - } - break; - } - case SYS_VAR_SECURE_FILE_PRIV: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSecureFilePriv)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSecureFilePriv))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarSecureFilePriv())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarSecureFilePriv", K(ret)); - } - break; - } - case SYS_VAR_PLSQL_WARNINGS: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPlsqlWarnings)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPlsqlWarnings))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPlsqlWarnings())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPlsqlWarnings", K(ret)); - } - break; - } - case SYS_VAR__ENABLE_PARALLEL_QUERY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarEnableParallelQuery)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarEnableParallelQuery))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarEnableParallelQuery())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarEnableParallelQuery", K(ret)); - } - break; - } - case SYS_VAR__FORCE_PARALLEL_QUERY_DOP: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarForceParallelQueryDop)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarForceParallelQueryDop))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarForceParallelQueryDop())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarForceParallelQueryDop", K(ret)); - } - break; - } - case SYS_VAR__FORCE_PARALLEL_DML_DOP: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarForceParallelDmlDop)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarForceParallelDmlDop))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarForceParallelDmlDop())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarForceParallelDmlDop", K(ret)); - } - break; - } - case SYS_VAR_OB_PL_BLOCK_TIMEOUT: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlBlockTimeout)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlBlockTimeout))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObPlBlockTimeout())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObPlBlockTimeout", K(ret)); - } - break; - } - case SYS_VAR_TRANSACTION_READ_ONLY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTransactionReadOnly)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTransactionReadOnly))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarTransactionReadOnly())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarTransactionReadOnly", K(ret)); - } - break; - } - case SYS_VAR_RESOURCE_MANAGER_PLAN: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarResourceManagerPlan)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarResourceManagerPlan))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarResourceManagerPlan())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarResourceManagerPlan", K(ret)); - } - break; - } - case SYS_VAR_PERFORMANCE_SCHEMA: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPerformanceSchema)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPerformanceSchema))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarPerformanceSchema())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarPerformanceSchema", K(ret)); - } - break; - } - case SYS_VAR_NLS_CURRENCY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsCurrency)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsCurrency))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsCurrency())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsCurrency", K(ret)); - } - break; - } - case SYS_VAR_NLS_ISO_CURRENCY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsIsoCurrency)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsIsoCurrency))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsIsoCurrency())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsIsoCurrency", K(ret)); - } - break; - } - case SYS_VAR_NLS_DUAL_CURRENCY: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsDualCurrency)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsDualCurrency))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarNlsDualCurrency())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarNlsDualCurrency", K(ret)); - } - break; - } - case SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED: { - void* ptr = NULL; - if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxySessionTemporaryTableUsed)))) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxySessionTemporaryTableUsed))); - } else if (OB_ISNULL(sys_var_ptr = new (ptr) ObSysVarObProxySessionTemporaryTableUsed())) { - ret = OB_ALLOCATE_MEMORY_FAILED; - LOG_ERROR("fail to new ObSysVarObProxySessionTemporaryTableUsed", K(ret)); - } - break; + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutoIncrementIncrement())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutoIncrementIncrement", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_AUTO_INCREMENT_INCREMENT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarAutoIncrementIncrement)); } - - default: { - ret = OB_ERR_UNEXPECTED; - LOG_ERROR("invalid system variable id", K(ret), K(sys_var_id)); - break; + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutoIncrementOffset())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutoIncrementOffset", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_AUTO_INCREMENT_OFFSET))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarAutoIncrementOffset)); } } - } - if (OB_SUCC(ret)) { - if (OB_ISNULL(sys_var_ptr)) { - ret = OB_ERR_UNEXPECTED; - LOG_ERROR("ret is OB_SUCCESS, but sys_var_ptr is NULL", K(ret), K(sys_var_id)); - } else if (OB_NOT_NULL(store_[store_idx])) { - ret = OB_ERR_UNEXPECTED; - LOG_WARN("store_[store_idx] should be NULL", K(ret), K(sys_var_id)); - } else { - store_[store_idx] = sys_var_ptr; - sys_var = sys_var_ptr; + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutocommit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutocommit", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_AUTOCOMMIT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarAutocommit)); + } } - } - if (OB_FAIL(ret) && sys_var_ptr != nullptr) { - sys_var_ptr->~ObBasicSysVar(); - sys_var_ptr = NULL; - } - return ret; -} - -} // namespace share -} // namespace oceanbase + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetClient())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetClient", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_CLIENT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetClient)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetConnection())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetConnection", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_CONNECTION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetConnection)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetDatabase())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetDatabase", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_DATABASE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetDatabase)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetResults())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetResults", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_RESULTS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetResults)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetServer())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetServer", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_SERVER))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetServer)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetSystem())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetSystem", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_SYSTEM))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetSystem)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCollationConnection())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCollationConnection", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_COLLATION_CONNECTION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCollationConnection)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCollationDatabase())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCollationDatabase", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_COLLATION_DATABASE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCollationDatabase)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCollationServer())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCollationServer", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_COLLATION_SERVER))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCollationServer)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInteractiveTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarInteractiveTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_INTERACTIVE_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarInteractiveTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLastInsertId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLastInsertId", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LAST_INSERT_ID))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLastInsertId)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxAllowedPacket())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxAllowedPacket", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_MAX_ALLOWED_PACKET))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarMaxAllowedPacket)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlMode", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_MODE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlMode)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTimeZone())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTimeZone", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TIME_ZONE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTimeZone)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTxIsolation())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTxIsolation", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TX_ISOLATION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTxIsolation)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersionComment())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersionComment", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VERSION_COMMENT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarVersionComment)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarWaitTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarWaitTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_WAIT_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarWaitTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarBinlogRowImage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarBinlogRowImage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_BINLOG_ROW_IMAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarBinlogRowImage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetFilesystem())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetFilesystem", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CHARACTER_SET_FILESYSTEM))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarCharacterSetFilesystem)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarConnectTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarConnectTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CONNECT_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarConnectTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDatadir())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDatadir", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_DATADIR))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarDatadir)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDebugSync())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDebugSync", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_DEBUG_SYNC))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarDebugSync)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDivPrecisionIncrement())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDivPrecisionIncrement", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_DIV_PRECISION_INCREMENT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarDivPrecisionIncrement)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarExplicitDefaultsForTimestamp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarExplicitDefaultsForTimestamp", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarExplicitDefaultsForTimestamp)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarGroupConcatMaxLen())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarGroupConcatMaxLen", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_GROUP_CONCAT_MAX_LEN))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarGroupConcatMaxLen)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarIdentity())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarIdentity", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_IDENTITY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarIdentity)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLowerCaseTableNames())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLowerCaseTableNames", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LOWER_CASE_TABLE_NAMES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLowerCaseTableNames)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNetReadTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNetReadTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NET_READ_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNetReadTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNetWriteTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNetWriteTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NET_WRITE_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNetWriteTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarReadOnly())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarReadOnly", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_READ_ONLY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarReadOnly)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlAutoIsNull())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlAutoIsNull", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_AUTO_IS_NULL))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlAutoIsNull)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlSelectLimit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlSelectLimit", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_SELECT_LIMIT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlSelectLimit)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTimestamp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTimestamp", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TIMESTAMP))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTimestamp)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTxReadOnly())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTxReadOnly", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TX_READ_ONLY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTxReadOnly)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersion", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VERSION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarVersion)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlWarnings())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlWarnings", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_WARNINGS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlWarnings)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxUserConnections())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxUserConnections", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_MAX_USER_CONNECTIONS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarMaxUserConnections)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInitConnect())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarInitConnect", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_INIT_CONNECT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarInitConnect)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLicense())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLicense", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LICENSE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLicense)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNetBufferLength())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNetBufferLength", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NET_BUFFER_LENGTH))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNetBufferLength)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSystemTimeZone())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSystemTimeZone", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SYSTEM_TIME_ZONE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSystemTimeZone)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarQueryCacheSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarQueryCacheSize", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_QUERY_CACHE_SIZE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarQueryCacheSize)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarQueryCacheType())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarQueryCacheType", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_QUERY_CACHE_TYPE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarQueryCacheType)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlQuoteShowCreate())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlQuoteShowCreate", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_QUOTE_SHOW_CREATE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlQuoteShowCreate)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxSpRecursionDepth())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxSpRecursionDepth", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_MAX_SP_RECURSION_DEPTH))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarMaxSpRecursionDepth)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlSafeUpdates())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlSafeUpdates", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_SAFE_UPDATES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlSafeUpdates)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarConcurrentInsert())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarConcurrentInsert", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_CONCURRENT_INSERT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarConcurrentInsert)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDefaultAuthenticationPlugin())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDefaultAuthenticationPlugin", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarDefaultAuthenticationPlugin)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDisabledStorageEngines())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDisabledStorageEngines", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_DISABLED_STORAGE_ENGINES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarDisabledStorageEngines)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarErrorCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarErrorCount", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_ERROR_COUNT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarErrorCount)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarGeneralLog())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarGeneralLog", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_GENERAL_LOG))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarGeneralLog)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHaveOpenssl())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHaveOpenssl", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_HAVE_OPENSSL))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarHaveOpenssl)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHaveProfiling())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHaveProfiling", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_HAVE_PROFILING))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarHaveProfiling)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHaveSsl())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHaveSsl", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_HAVE_SSL))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarHaveSsl)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHostname())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHostname", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_HOSTNAME))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarHostname)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLcMessages())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLcMessages", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LC_MESSAGES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLcMessages)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLocalInfile())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLocalInfile", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LOCAL_INFILE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLocalInfile)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLockWaitTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLockWaitTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LOCK_WAIT_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLockWaitTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLongQueryTime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLongQueryTime", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_LONG_QUERY_TIME))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarLongQueryTime)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxConnections())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxConnections", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_MAX_CONNECTIONS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarMaxConnections)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxExecutionTime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxExecutionTime", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_MAX_EXECUTION_TIME))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarMaxExecutionTime)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarProtocolVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarProtocolVersion", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_PROTOCOL_VERSION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarProtocolVersion)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarServerId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarServerId", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SERVER_ID))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarServerId)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCa())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCa", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_CA))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslCa)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCapath())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCapath", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_CAPATH))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslCapath)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCert())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCert", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_CERT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslCert)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCipher())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCipher", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_CIPHER))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslCipher)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCrl())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCrl", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_CRL))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslCrl)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCrlpath())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCrlpath", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_CRLPATH))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslCrlpath)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslKey())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslKey", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SSL_KEY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSslKey)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTimeFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTimeFormat", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TIME_FORMAT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTimeFormat)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTlsVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTlsVersion", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TLS_VERSION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTlsVersion)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTmpTableSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTmpTableSize", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TMP_TABLE_SIZE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTmpTableSize)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTmpdir())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTmpdir", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TMPDIR))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTmpdir)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarUniqueChecks())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarUniqueChecks", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_UNIQUE_CHECKS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarUniqueChecks)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersionCompileMachine())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersionCompileMachine", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VERSION_COMPILE_MACHINE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarVersionCompileMachine)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersionCompileOs())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersionCompileOs", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VERSION_COMPILE_OS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarVersionCompileOs)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarWarningCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarWarningCount", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_WARNING_COUNT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarWarningCount)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSessionTrackSchema())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSessionTrackSchema", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SESSION_TRACK_SCHEMA))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSessionTrackSchema)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSessionTrackSystemVariables())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSessionTrackSystemVariables", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSessionTrackSystemVariables)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSessionTrackStateChange())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSessionTrackStateChange", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SESSION_TRACK_STATE_CHANGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSessionTrackStateChange)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObDefaultReplicaNum())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObDefaultReplicaNum", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_DEFAULT_REPLICA_NUM))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObDefaultReplicaNum)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObIntermResultMemLimit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObIntermResultMemLimit", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObIntermResultMemLimit)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxyPartitionHit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxyPartitionHit", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PROXY_PARTITION_HIT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObProxyPartitionHit)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObLogLevel())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObLogLevel", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_LOG_LEVEL))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObLogLevel)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObMaxParallelDegree())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObMaxParallelDegree", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_MAX_PARALLEL_DEGREE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObMaxParallelDegree)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObQueryTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObQueryTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_QUERY_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObQueryTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObReadConsistency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObReadConsistency", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_READ_CONSISTENCY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObReadConsistency)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTransformation())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTransformation", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_TRANSFORMATION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableTransformation)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTrxTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTrxTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TRX_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTrxTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnablePlanCache())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnablePlanCache", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_PLAN_CACHE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnablePlanCache)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableIndexDirectSelect())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableIndexDirectSelect", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableIndexDirectSelect)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxySetTrxExecuted())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxySetTrxExecuted", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PROXY_SET_TRX_EXECUTED))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObProxySetTrxExecuted)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableAggregationPushdown())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableAggregationPushdown", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableAggregationPushdown)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObLastSchemaVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObLastSchemaVersion", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_LAST_SCHEMA_VERSION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObLastSchemaVersion)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObGlobalDebugSync())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObGlobalDebugSync", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_GLOBAL_DEBUG_SYNC))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObGlobalDebugSync)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxyGlobalVariablesVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxyGlobalVariablesVersion", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObProxyGlobalVariablesVersion)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTraceLog())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTraceLog", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_TRACE_LOG))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableTraceLog)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableHashGroupBy())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableHashGroupBy", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_HASH_GROUP_BY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableHashGroupBy)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableBlkNestedloopJoin())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableBlkNestedloopJoin", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableBlkNestedloopJoin)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObBnlJoinCacheSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObBnlJoinCacheSize", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_BNL_JOIN_CACHE_SIZE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObBnlJoinCacheSize)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxyUserPrivilege())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxyUserPrivilege", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PROXY_USER_PRIVILEGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObProxyUserPrivilege)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObOrgClusterId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObOrgClusterId", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ORG_CLUSTER_ID))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObOrgClusterId)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlanCachePercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlanCachePercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PLAN_CACHE_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObPlanCachePercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlanCacheEvictHighPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlanCacheEvictHighPercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObPlanCacheEvictHighPercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlanCacheEvictLowPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlanCacheEvictLowPercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObPlanCacheEvictLowPercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarRecyclebin())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarRecyclebin", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_RECYCLEBIN))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarRecyclebin)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCapabilityFlag())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCapabilityFlag", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_CAPABILITY_FLAG))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObCapabilityFlag)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObStmtParallelDegree())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObStmtParallelDegree", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_STMT_PARALLEL_DEGREE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObStmtParallelDegree)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarIsResultAccurate())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarIsResultAccurate", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_IS_RESULT_ACCURATE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarIsResultAccurate)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarErrorOnOverlapTime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarErrorOnOverlapTime", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_ERROR_ON_OVERLAP_TIME))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarErrorOnOverlapTime)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCompatibilityMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCompatibilityMode", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_COMPATIBILITY_MODE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObCompatibilityMode)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCreateTableStrictMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCreateTableStrictMode", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_CREATE_TABLE_STRICT_MODE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObCreateTableStrictMode)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObSqlWorkAreaPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObSqlWorkAreaPercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObSqlWorkAreaPercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObSafeWeakReadSnapshot())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObSafeWeakReadSnapshot", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObSafeWeakReadSnapshot)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObRoutePolicy())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObRoutePolicy", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ROUTE_POLICY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObRoutePolicy)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTransmissionChecksum())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTransmissionChecksum", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableTransmissionChecksum)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarForeignKeyChecks())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarForeignKeyChecks", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_FOREIGN_KEY_CHECKS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarForeignKeyChecks)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObStatementTraceId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObStatementTraceId", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_STATEMENT_TRACE_ID))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObStatementTraceId)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTruncateFlashback())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTruncateFlashback", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableTruncateFlashback)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTcpInvitedNodes())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTcpInvitedNodes", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TCP_INVITED_NODES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTcpInvitedNodes)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleCurrentPriority())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleCurrentPriority", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottleCurrentPriority)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottlePriority())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottlePriority", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_PRIORITY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottlePriority)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleRt())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleRt", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_RT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottleRt)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleCpu())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleCpu", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_CPU))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottleCpu)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleIo())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleIo", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_IO))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottleIo)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleNetwork())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleNetwork", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_NETWORK))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottleNetwork)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleLogicalReads())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleLogicalReads", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SQL_THROTTLE_LOGICAL_READS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSqlThrottleLogicalReads)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutoIncrementCacheSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutoIncrementCacheSize", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_AUTO_INCREMENT_CACHE_SIZE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarAutoIncrementCacheSize)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableJit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableJit", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_JIT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableJit)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTempTablespaceSizePercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTempTablespaceSizePercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTempTablespaceSizePercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerAdaptiveCursorSharing())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarOptimizerAdaptiveCursorSharing", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarOptimizerAdaptiveCursorSharing)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTimestampService())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTimestampService", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TIMESTAMP_SERVICE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTimestampService)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPluginDir())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPluginDir", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_PLUGIN_DIR))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPluginDir)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarUndoRetention())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarUndoRetention", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_UNDO_RETENTION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarUndoRetention)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObUseParallelExecution())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObUseParallelExecution", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__OB_USE_PARALLEL_EXECUTION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObUseParallelExecution)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObSqlAuditPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObSqlAuditPercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_SQL_AUDIT_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObSqlAuditPercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableSqlAudit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableSqlAudit", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_SQL_AUDIT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableSqlAudit)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerUseSqlPlanBaselines())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarOptimizerUseSqlPlanBaselines", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarOptimizerUseSqlPlanBaselines)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerCaptureSqlPlanBaselines())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarOptimizerCaptureSqlPlanBaselines", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarOptimizerCaptureSqlPlanBaselines)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarParallelMaxServers())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarParallelMaxServers", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_PARALLEL_MAX_SERVERS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarParallelMaxServers)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarParallelServersTarget())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarParallelServersTarget", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_PARALLEL_SERVERS_TARGET))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarParallelServersTarget)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEarlyLockRelease())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEarlyLockRelease", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_EARLY_LOCK_RELEASE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEarlyLockRelease)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTrxIdleTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTrxIdleTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TRX_IDLE_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTrxIdleTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarBlockEncryptionMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarBlockEncryptionMode", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_BLOCK_ENCRYPTION_MODE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarBlockEncryptionMode)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsDateFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsDateFormat", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_DATE_FORMAT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsDateFormat)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsTimestampFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsTimestampFormat", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_TIMESTAMP_FORMAT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsTimestampFormat)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsTimestampTzFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsTimestampTzFormat", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsTimestampTzFormat)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObReservedMetaMemoryPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObReservedMetaMemoryPercentage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObReservedMetaMemoryPercentage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCheckSysVariable())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCheckSysVariable", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_CHECK_SYS_VARIABLE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObCheckSysVariable)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsLanguage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsLanguage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_LANGUAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsLanguage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsTerritory())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsTerritory", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_TERRITORY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsTerritory)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsSort())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsSort", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_SORT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsSort)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsComp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsComp", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_COMP))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsComp)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsCharacterset())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsCharacterset", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_CHARACTERSET))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsCharacterset)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsNcharCharacterset())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsNcharCharacterset", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_NCHAR_CHARACTERSET))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsNcharCharacterset)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsDateLanguage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsDateLanguage", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_DATE_LANGUAGE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsDateLanguage)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsLengthSemantics())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsLengthSemantics", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_LENGTH_SEMANTICS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsLengthSemantics)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsNcharConvExcp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsNcharConvExcp", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_NCHAR_CONV_EXCP))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsNcharConvExcp)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsCalendar())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsCalendar", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_CALENDAR))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsCalendar)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsNumericCharacters())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsNumericCharacters", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_NUMERIC_CHARACTERS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsNumericCharacters)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNljBatchingEnabled())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNljBatchingEnabled", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__NLJ_BATCHING_ENABLED))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNljBatchingEnabled)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTracefileIdentifier())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTracefileIdentifier", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TRACEFILE_IDENTIFIER))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTracefileIdentifier)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarGroupbyNopushdownCutRatio())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarGroupbyNopushdownCutRatio", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarGroupbyNopushdownCutRatio)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPxBroadcastFudgeFactor())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPxBroadcastFudgeFactor", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__PX_BROADCAST_FUDGE_FACTOR))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPxBroadcastFudgeFactor)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPrimaryZoneEntityCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPrimaryZoneEntityCount", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPrimaryZoneEntityCount)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTransactionIsolation())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTransactionIsolation", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TRANSACTION_ISOLATION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTransactionIsolation)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTrxLockTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTrxLockTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TRX_LOCK_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTrxLockTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordCheckUserName())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordCheckUserName", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarValidatePasswordCheckUserName)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordLength())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordLength", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VALIDATE_PASSWORD_LENGTH))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarValidatePasswordLength)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordMixedCaseCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordMixedCaseCount", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarValidatePasswordMixedCaseCount)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordNumberCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordNumberCount", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarValidatePasswordNumberCount)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordPolicy())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordPolicy", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VALIDATE_PASSWORD_POLICY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarValidatePasswordPolicy)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordSpecialCharCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordSpecialCharCount", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarValidatePasswordSpecialCharCount)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDefaultPasswordLifetime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDefaultPasswordLifetime", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_DEFAULT_PASSWORD_LIFETIME))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarDefaultPasswordLifetime)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTraceInfo())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTraceInfo", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_TRACE_INFO))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObTraceInfo)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableBatchedMultiStatement())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableBatchedMultiStatement", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObEnableBatchedMultiStatement)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPxPartitionScanThreshold())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPxPartitionScanThreshold", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__PX_PARTITION_SCAN_THRESHOLD))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPxPartitionScanThreshold)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPxBcastOptimization())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPxBcastOptimization", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__OB_PX_BCAST_OPTIMIZATION))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObPxBcastOptimization)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPxSlaveMappingThreshold())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPxSlaveMappingThreshold", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObPxSlaveMappingThreshold)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableParallelDml())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarEnableParallelDml", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__ENABLE_PARALLEL_DML))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarEnableParallelDml)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPxMinGranulesPerSlave())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPxMinGranulesPerSlave", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__PX_MIN_GRANULES_PER_SLAVE))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPxMinGranulesPerSlave)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSecureFilePriv())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSecureFilePriv", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_SECURE_FILE_PRIV))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarSecureFilePriv)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPlsqlWarnings())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPlsqlWarnings", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_PLSQL_WARNINGS))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPlsqlWarnings)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableParallelQuery())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarEnableParallelQuery", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__ENABLE_PARALLEL_QUERY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarEnableParallelQuery)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarForceParallelQueryDop())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarForceParallelQueryDop", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__FORCE_PARALLEL_QUERY_DOP))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarForceParallelQueryDop)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarForceParallelDmlDop())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarForceParallelDmlDop", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__FORCE_PARALLEL_DML_DOP))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarForceParallelDmlDop)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlBlockTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlBlockTimeout", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_OB_PL_BLOCK_TIMEOUT))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObPlBlockTimeout)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTransactionReadOnly())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTransactionReadOnly", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_TRANSACTION_READ_ONLY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarTransactionReadOnly)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarResourceManagerPlan())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarResourceManagerPlan", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_RESOURCE_MANAGER_PLAN))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarResourceManagerPlan)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPerformanceSchema())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPerformanceSchema", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_PERFORMANCE_SCHEMA))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarPerformanceSchema)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsCurrency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsCurrency", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_CURRENCY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsCurrency)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsIsoCurrency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsIsoCurrency", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_ISO_CURRENCY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsIsoCurrency)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsDualCurrency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsDualCurrency", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR_NLS_DUAL_CURRENCY))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarNlsDualCurrency)); + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxySessionTemporaryTableUsed())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxySessionTemporaryTableUsed", K(ret)); + } else { + store_buf_[ObSysVarsToIdxMap::get_store_idx(static_cast(SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED))] = sys_var_ptr; + ptr = (void *)((char *)ptr + sizeof(ObSysVarObProxySessionTemporaryTableUsed)); + } + } + + } + return ret; +} + +int ObSysVarFactory::create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar *&sys_var) +{ + int ret = OB_SUCCESS; + int64_t store_idx = -1; + ObBasicSysVar *sys_var_ptr = NULL; + if (OB_FAIL(calc_sys_var_store_idx(sys_var_id, store_idx))) { + LOG_WARN("fail to calc sys var store idx", K(ret), K(sys_var_id)); + } else if (store_idx < 0 || store_idx >= ALL_SYS_VARS_COUNT) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("unexpected store idx", K(ret), K(store_idx), K(sys_var_id)); + } else if (OB_NOT_NULL(store_[store_idx])) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("store ptr shoule be null", K(ret), K(store_idx), K(sys_var_id)); + } else { + if (OB_NOT_NULL(store_buf_[store_idx])) { + sys_var_ptr = store_buf_[store_idx]; + store_buf_[store_idx] = nullptr; + } + } + if (OB_ISNULL(sys_var_ptr)) { + switch(sys_var_id) { + case SYS_VAR_AUTO_INCREMENT_INCREMENT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutoIncrementIncrement)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutoIncrementIncrement))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutoIncrementIncrement())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutoIncrementIncrement", K(ret)); + } + break; + } + case SYS_VAR_AUTO_INCREMENT_OFFSET: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutoIncrementOffset)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutoIncrementOffset))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutoIncrementOffset())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutoIncrementOffset", K(ret)); + } + break; + } + case SYS_VAR_AUTOCOMMIT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutocommit)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutocommit))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutocommit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutocommit", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_CLIENT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetClient)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetClient))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetClient())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetClient", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_CONNECTION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetConnection)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetConnection))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetConnection())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetConnection", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_DATABASE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetDatabase)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetDatabase))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetDatabase())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetDatabase", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_RESULTS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetResults)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetResults))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetResults())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetResults", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_SERVER: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetServer)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetServer))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetServer())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetServer", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_SYSTEM: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetSystem)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetSystem))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetSystem())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetSystem", K(ret)); + } + break; + } + case SYS_VAR_COLLATION_CONNECTION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCollationConnection)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCollationConnection))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCollationConnection())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCollationConnection", K(ret)); + } + break; + } + case SYS_VAR_COLLATION_DATABASE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCollationDatabase)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCollationDatabase))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCollationDatabase())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCollationDatabase", K(ret)); + } + break; + } + case SYS_VAR_COLLATION_SERVER: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCollationServer)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCollationServer))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCollationServer())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCollationServer", K(ret)); + } + break; + } + case SYS_VAR_INTERACTIVE_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInteractiveTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInteractiveTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInteractiveTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarInteractiveTimeout", K(ret)); + } + break; + } + case SYS_VAR_LAST_INSERT_ID: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLastInsertId)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLastInsertId))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLastInsertId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLastInsertId", K(ret)); + } + break; + } + case SYS_VAR_MAX_ALLOWED_PACKET: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxAllowedPacket)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxAllowedPacket))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxAllowedPacket())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxAllowedPacket", K(ret)); + } + break; + } + case SYS_VAR_SQL_MODE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlMode)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlMode))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlMode", K(ret)); + } + break; + } + case SYS_VAR_TIME_ZONE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTimeZone)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTimeZone))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTimeZone())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTimeZone", K(ret)); + } + break; + } + case SYS_VAR_TX_ISOLATION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTxIsolation)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTxIsolation))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTxIsolation())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTxIsolation", K(ret)); + } + break; + } + case SYS_VAR_VERSION_COMMENT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersionComment)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersionComment))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersionComment())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersionComment", K(ret)); + } + break; + } + case SYS_VAR_WAIT_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarWaitTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarWaitTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarWaitTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarWaitTimeout", K(ret)); + } + break; + } + case SYS_VAR_BINLOG_ROW_IMAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarBinlogRowImage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarBinlogRowImage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarBinlogRowImage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarBinlogRowImage", K(ret)); + } + break; + } + case SYS_VAR_CHARACTER_SET_FILESYSTEM: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarCharacterSetFilesystem)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarCharacterSetFilesystem))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarCharacterSetFilesystem())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarCharacterSetFilesystem", K(ret)); + } + break; + } + case SYS_VAR_CONNECT_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarConnectTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarConnectTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarConnectTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarConnectTimeout", K(ret)); + } + break; + } + case SYS_VAR_DATADIR: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDatadir)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDatadir))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDatadir())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDatadir", K(ret)); + } + break; + } + case SYS_VAR_DEBUG_SYNC: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDebugSync)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDebugSync))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDebugSync())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDebugSync", K(ret)); + } + break; + } + case SYS_VAR_DIV_PRECISION_INCREMENT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDivPrecisionIncrement)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDivPrecisionIncrement))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDivPrecisionIncrement())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDivPrecisionIncrement", K(ret)); + } + break; + } + case SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarExplicitDefaultsForTimestamp)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarExplicitDefaultsForTimestamp))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarExplicitDefaultsForTimestamp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarExplicitDefaultsForTimestamp", K(ret)); + } + break; + } + case SYS_VAR_GROUP_CONCAT_MAX_LEN: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarGroupConcatMaxLen)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarGroupConcatMaxLen))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarGroupConcatMaxLen())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarGroupConcatMaxLen", K(ret)); + } + break; + } + case SYS_VAR_IDENTITY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarIdentity)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarIdentity))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarIdentity())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarIdentity", K(ret)); + } + break; + } + case SYS_VAR_LOWER_CASE_TABLE_NAMES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLowerCaseTableNames)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLowerCaseTableNames))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLowerCaseTableNames())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLowerCaseTableNames", K(ret)); + } + break; + } + case SYS_VAR_NET_READ_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNetReadTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNetReadTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNetReadTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNetReadTimeout", K(ret)); + } + break; + } + case SYS_VAR_NET_WRITE_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNetWriteTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNetWriteTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNetWriteTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNetWriteTimeout", K(ret)); + } + break; + } + case SYS_VAR_READ_ONLY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarReadOnly)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarReadOnly))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarReadOnly())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarReadOnly", K(ret)); + } + break; + } + case SYS_VAR_SQL_AUTO_IS_NULL: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlAutoIsNull)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlAutoIsNull))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlAutoIsNull())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlAutoIsNull", K(ret)); + } + break; + } + case SYS_VAR_SQL_SELECT_LIMIT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlSelectLimit)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlSelectLimit))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlSelectLimit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlSelectLimit", K(ret)); + } + break; + } + case SYS_VAR_TIMESTAMP: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTimestamp)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTimestamp))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTimestamp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTimestamp", K(ret)); + } + break; + } + case SYS_VAR_TX_READ_ONLY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTxReadOnly)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTxReadOnly))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTxReadOnly())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTxReadOnly", K(ret)); + } + break; + } + case SYS_VAR_VERSION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersion)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersion))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersion", K(ret)); + } + break; + } + case SYS_VAR_SQL_WARNINGS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlWarnings)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlWarnings))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlWarnings())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlWarnings", K(ret)); + } + break; + } + case SYS_VAR_MAX_USER_CONNECTIONS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxUserConnections)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxUserConnections))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxUserConnections())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxUserConnections", K(ret)); + } + break; + } + case SYS_VAR_INIT_CONNECT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarInitConnect)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarInitConnect))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarInitConnect())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarInitConnect", K(ret)); + } + break; + } + case SYS_VAR_LICENSE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLicense)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLicense))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLicense())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLicense", K(ret)); + } + break; + } + case SYS_VAR_NET_BUFFER_LENGTH: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNetBufferLength)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNetBufferLength))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNetBufferLength())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNetBufferLength", K(ret)); + } + break; + } + case SYS_VAR_SYSTEM_TIME_ZONE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSystemTimeZone)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSystemTimeZone))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSystemTimeZone())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSystemTimeZone", K(ret)); + } + break; + } + case SYS_VAR_QUERY_CACHE_SIZE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarQueryCacheSize)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarQueryCacheSize))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarQueryCacheSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarQueryCacheSize", K(ret)); + } + break; + } + case SYS_VAR_QUERY_CACHE_TYPE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarQueryCacheType)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarQueryCacheType))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarQueryCacheType())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarQueryCacheType", K(ret)); + } + break; + } + case SYS_VAR_SQL_QUOTE_SHOW_CREATE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlQuoteShowCreate)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlQuoteShowCreate))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlQuoteShowCreate())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlQuoteShowCreate", K(ret)); + } + break; + } + case SYS_VAR_MAX_SP_RECURSION_DEPTH: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxSpRecursionDepth)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxSpRecursionDepth))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxSpRecursionDepth())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxSpRecursionDepth", K(ret)); + } + break; + } + case SYS_VAR_SQL_SAFE_UPDATES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlSafeUpdates)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlSafeUpdates))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlSafeUpdates())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlSafeUpdates", K(ret)); + } + break; + } + case SYS_VAR_CONCURRENT_INSERT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarConcurrentInsert)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarConcurrentInsert))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarConcurrentInsert())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarConcurrentInsert", K(ret)); + } + break; + } + case SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDefaultAuthenticationPlugin)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDefaultAuthenticationPlugin))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDefaultAuthenticationPlugin())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDefaultAuthenticationPlugin", K(ret)); + } + break; + } + case SYS_VAR_DISABLED_STORAGE_ENGINES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDisabledStorageEngines)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDisabledStorageEngines))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDisabledStorageEngines())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDisabledStorageEngines", K(ret)); + } + break; + } + case SYS_VAR_ERROR_COUNT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarErrorCount)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarErrorCount))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarErrorCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarErrorCount", K(ret)); + } + break; + } + case SYS_VAR_GENERAL_LOG: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarGeneralLog)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarGeneralLog))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarGeneralLog())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarGeneralLog", K(ret)); + } + break; + } + case SYS_VAR_HAVE_OPENSSL: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHaveOpenssl)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHaveOpenssl))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHaveOpenssl())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHaveOpenssl", K(ret)); + } + break; + } + case SYS_VAR_HAVE_PROFILING: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHaveProfiling)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHaveProfiling))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHaveProfiling())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHaveProfiling", K(ret)); + } + break; + } + case SYS_VAR_HAVE_SSL: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHaveSsl)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHaveSsl))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHaveSsl())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHaveSsl", K(ret)); + } + break; + } + case SYS_VAR_HOSTNAME: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarHostname)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarHostname))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarHostname())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarHostname", K(ret)); + } + break; + } + case SYS_VAR_LC_MESSAGES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLcMessages)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLcMessages))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLcMessages())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLcMessages", K(ret)); + } + break; + } + case SYS_VAR_LOCAL_INFILE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLocalInfile)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLocalInfile))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLocalInfile())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLocalInfile", K(ret)); + } + break; + } + case SYS_VAR_LOCK_WAIT_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLockWaitTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLockWaitTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLockWaitTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLockWaitTimeout", K(ret)); + } + break; + } + case SYS_VAR_LONG_QUERY_TIME: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarLongQueryTime)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarLongQueryTime))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarLongQueryTime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarLongQueryTime", K(ret)); + } + break; + } + case SYS_VAR_MAX_CONNECTIONS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxConnections)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxConnections))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxConnections())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxConnections", K(ret)); + } + break; + } + case SYS_VAR_MAX_EXECUTION_TIME: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarMaxExecutionTime)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarMaxExecutionTime))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarMaxExecutionTime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarMaxExecutionTime", K(ret)); + } + break; + } + case SYS_VAR_PROTOCOL_VERSION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarProtocolVersion)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarProtocolVersion))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarProtocolVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarProtocolVersion", K(ret)); + } + break; + } + case SYS_VAR_SERVER_ID: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarServerId)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarServerId))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarServerId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarServerId", K(ret)); + } + break; + } + case SYS_VAR_SSL_CA: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCa)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCa))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCa())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCa", K(ret)); + } + break; + } + case SYS_VAR_SSL_CAPATH: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCapath)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCapath))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCapath())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCapath", K(ret)); + } + break; + } + case SYS_VAR_SSL_CERT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCert)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCert))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCert())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCert", K(ret)); + } + break; + } + case SYS_VAR_SSL_CIPHER: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCipher)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCipher))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCipher())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCipher", K(ret)); + } + break; + } + case SYS_VAR_SSL_CRL: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCrl)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCrl))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCrl())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCrl", K(ret)); + } + break; + } + case SYS_VAR_SSL_CRLPATH: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslCrlpath)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslCrlpath))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslCrlpath())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslCrlpath", K(ret)); + } + break; + } + case SYS_VAR_SSL_KEY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSslKey)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSslKey))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSslKey())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSslKey", K(ret)); + } + break; + } + case SYS_VAR_TIME_FORMAT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTimeFormat)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTimeFormat))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTimeFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTimeFormat", K(ret)); + } + break; + } + case SYS_VAR_TLS_VERSION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTlsVersion)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTlsVersion))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTlsVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTlsVersion", K(ret)); + } + break; + } + case SYS_VAR_TMP_TABLE_SIZE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTmpTableSize)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTmpTableSize))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTmpTableSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTmpTableSize", K(ret)); + } + break; + } + case SYS_VAR_TMPDIR: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTmpdir)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTmpdir))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTmpdir())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTmpdir", K(ret)); + } + break; + } + case SYS_VAR_UNIQUE_CHECKS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarUniqueChecks)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarUniqueChecks))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarUniqueChecks())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarUniqueChecks", K(ret)); + } + break; + } + case SYS_VAR_VERSION_COMPILE_MACHINE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersionCompileMachine)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersionCompileMachine))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersionCompileMachine())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersionCompileMachine", K(ret)); + } + break; + } + case SYS_VAR_VERSION_COMPILE_OS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarVersionCompileOs)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarVersionCompileOs))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarVersionCompileOs())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarVersionCompileOs", K(ret)); + } + break; + } + case SYS_VAR_WARNING_COUNT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarWarningCount)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarWarningCount))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarWarningCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarWarningCount", K(ret)); + } + break; + } + case SYS_VAR_SESSION_TRACK_SCHEMA: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSessionTrackSchema)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSessionTrackSchema))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSessionTrackSchema())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSessionTrackSchema", K(ret)); + } + break; + } + case SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSessionTrackSystemVariables)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSessionTrackSystemVariables))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSessionTrackSystemVariables())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSessionTrackSystemVariables", K(ret)); + } + break; + } + case SYS_VAR_SESSION_TRACK_STATE_CHANGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSessionTrackStateChange)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSessionTrackStateChange))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSessionTrackStateChange())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSessionTrackStateChange", K(ret)); + } + break; + } + case SYS_VAR_OB_DEFAULT_REPLICA_NUM: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObDefaultReplicaNum)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObDefaultReplicaNum))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObDefaultReplicaNum())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObDefaultReplicaNum", K(ret)); + } + break; + } + case SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObIntermResultMemLimit)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObIntermResultMemLimit))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObIntermResultMemLimit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObIntermResultMemLimit", K(ret)); + } + break; + } + case SYS_VAR_OB_PROXY_PARTITION_HIT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxyPartitionHit)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxyPartitionHit))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxyPartitionHit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxyPartitionHit", K(ret)); + } + break; + } + case SYS_VAR_OB_LOG_LEVEL: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObLogLevel)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObLogLevel))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObLogLevel())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObLogLevel", K(ret)); + } + break; + } + case SYS_VAR_OB_MAX_PARALLEL_DEGREE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObMaxParallelDegree)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObMaxParallelDegree))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObMaxParallelDegree())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObMaxParallelDegree", K(ret)); + } + break; + } + case SYS_VAR_OB_QUERY_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObQueryTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObQueryTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObQueryTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObQueryTimeout", K(ret)); + } + break; + } + case SYS_VAR_OB_READ_CONSISTENCY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObReadConsistency)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObReadConsistency))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObReadConsistency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObReadConsistency", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_TRANSFORMATION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTransformation)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTransformation))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTransformation())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTransformation", K(ret)); + } + break; + } + case SYS_VAR_OB_TRX_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTrxTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTrxTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTrxTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTrxTimeout", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_PLAN_CACHE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnablePlanCache)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnablePlanCache))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnablePlanCache())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnablePlanCache", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableIndexDirectSelect)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableIndexDirectSelect))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableIndexDirectSelect())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableIndexDirectSelect", K(ret)); + } + break; + } + case SYS_VAR_OB_PROXY_SET_TRX_EXECUTED: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxySetTrxExecuted)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxySetTrxExecuted))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxySetTrxExecuted())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxySetTrxExecuted", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableAggregationPushdown)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableAggregationPushdown))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableAggregationPushdown())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableAggregationPushdown", K(ret)); + } + break; + } + case SYS_VAR_OB_LAST_SCHEMA_VERSION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObLastSchemaVersion)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObLastSchemaVersion))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObLastSchemaVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObLastSchemaVersion", K(ret)); + } + break; + } + case SYS_VAR_OB_GLOBAL_DEBUG_SYNC: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObGlobalDebugSync)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObGlobalDebugSync))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObGlobalDebugSync())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObGlobalDebugSync", K(ret)); + } + break; + } + case SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxyGlobalVariablesVersion)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxyGlobalVariablesVersion))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxyGlobalVariablesVersion())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxyGlobalVariablesVersion", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_TRACE_LOG: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTraceLog)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTraceLog))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTraceLog())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTraceLog", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_HASH_GROUP_BY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableHashGroupBy)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableHashGroupBy))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableHashGroupBy())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableHashGroupBy", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableBlkNestedloopJoin)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableBlkNestedloopJoin))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableBlkNestedloopJoin())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableBlkNestedloopJoin", K(ret)); + } + break; + } + case SYS_VAR_OB_BNL_JOIN_CACHE_SIZE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObBnlJoinCacheSize)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObBnlJoinCacheSize))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObBnlJoinCacheSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObBnlJoinCacheSize", K(ret)); + } + break; + } + case SYS_VAR_OB_PROXY_USER_PRIVILEGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxyUserPrivilege)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxyUserPrivilege))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxyUserPrivilege())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxyUserPrivilege", K(ret)); + } + break; + } + case SYS_VAR_OB_ORG_CLUSTER_ID: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObOrgClusterId)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObOrgClusterId))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObOrgClusterId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObOrgClusterId", K(ret)); + } + break; + } + case SYS_VAR_OB_PLAN_CACHE_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlanCachePercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlanCachePercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlanCachePercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlanCachePercentage", K(ret)); + } + break; + } + case SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlanCacheEvictHighPercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlanCacheEvictHighPercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlanCacheEvictHighPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlanCacheEvictHighPercentage", K(ret)); + } + break; + } + case SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlanCacheEvictLowPercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlanCacheEvictLowPercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlanCacheEvictLowPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlanCacheEvictLowPercentage", K(ret)); + } + break; + } + case SYS_VAR_RECYCLEBIN: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarRecyclebin)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarRecyclebin))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarRecyclebin())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarRecyclebin", K(ret)); + } + break; + } + case SYS_VAR_OB_CAPABILITY_FLAG: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCapabilityFlag)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCapabilityFlag))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCapabilityFlag())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCapabilityFlag", K(ret)); + } + break; + } + case SYS_VAR_OB_STMT_PARALLEL_DEGREE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObStmtParallelDegree)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObStmtParallelDegree))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObStmtParallelDegree())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObStmtParallelDegree", K(ret)); + } + break; + } + case SYS_VAR_IS_RESULT_ACCURATE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarIsResultAccurate)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarIsResultAccurate))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarIsResultAccurate())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarIsResultAccurate", K(ret)); + } + break; + } + case SYS_VAR_ERROR_ON_OVERLAP_TIME: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarErrorOnOverlapTime)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarErrorOnOverlapTime))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarErrorOnOverlapTime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarErrorOnOverlapTime", K(ret)); + } + break; + } + case SYS_VAR_OB_COMPATIBILITY_MODE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCompatibilityMode)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCompatibilityMode))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCompatibilityMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCompatibilityMode", K(ret)); + } + break; + } + case SYS_VAR_OB_CREATE_TABLE_STRICT_MODE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCreateTableStrictMode)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCreateTableStrictMode))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCreateTableStrictMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCreateTableStrictMode", K(ret)); + } + break; + } + case SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObSqlWorkAreaPercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObSqlWorkAreaPercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObSqlWorkAreaPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObSqlWorkAreaPercentage", K(ret)); + } + break; + } + case SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObSafeWeakReadSnapshot)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObSafeWeakReadSnapshot))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObSafeWeakReadSnapshot())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObSafeWeakReadSnapshot", K(ret)); + } + break; + } + case SYS_VAR_OB_ROUTE_POLICY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObRoutePolicy)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObRoutePolicy))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObRoutePolicy())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObRoutePolicy", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTransmissionChecksum)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTransmissionChecksum))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTransmissionChecksum())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTransmissionChecksum", K(ret)); + } + break; + } + case SYS_VAR_FOREIGN_KEY_CHECKS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarForeignKeyChecks)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarForeignKeyChecks))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarForeignKeyChecks())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarForeignKeyChecks", K(ret)); + } + break; + } + case SYS_VAR_OB_STATEMENT_TRACE_ID: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObStatementTraceId)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObStatementTraceId))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObStatementTraceId())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObStatementTraceId", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableTruncateFlashback)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableTruncateFlashback))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableTruncateFlashback())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableTruncateFlashback", K(ret)); + } + break; + } + case SYS_VAR_OB_TCP_INVITED_NODES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTcpInvitedNodes)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTcpInvitedNodes))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTcpInvitedNodes())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTcpInvitedNodes", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleCurrentPriority)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleCurrentPriority))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleCurrentPriority())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleCurrentPriority", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_PRIORITY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottlePriority)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottlePriority))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottlePriority())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottlePriority", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_RT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleRt)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleRt))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleRt())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleRt", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_CPU: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleCpu)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleCpu))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleCpu())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleCpu", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_IO: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleIo)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleIo))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleIo())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleIo", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_NETWORK: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleNetwork)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleNetwork))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleNetwork())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleNetwork", K(ret)); + } + break; + } + case SYS_VAR_SQL_THROTTLE_LOGICAL_READS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSqlThrottleLogicalReads)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSqlThrottleLogicalReads))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSqlThrottleLogicalReads())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSqlThrottleLogicalReads", K(ret)); + } + break; + } + case SYS_VAR_AUTO_INCREMENT_CACHE_SIZE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarAutoIncrementCacheSize)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarAutoIncrementCacheSize))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarAutoIncrementCacheSize())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarAutoIncrementCacheSize", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_JIT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableJit)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableJit))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableJit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableJit", K(ret)); + } + break; + } + case SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTempTablespaceSizePercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTempTablespaceSizePercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTempTablespaceSizePercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTempTablespaceSizePercentage", K(ret)); + } + break; + } + case SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerAdaptiveCursorSharing)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerAdaptiveCursorSharing))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerAdaptiveCursorSharing())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarOptimizerAdaptiveCursorSharing", K(ret)); + } + break; + } + case SYS_VAR_OB_TIMESTAMP_SERVICE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTimestampService)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTimestampService))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTimestampService())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTimestampService", K(ret)); + } + break; + } + case SYS_VAR_PLUGIN_DIR: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPluginDir)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPluginDir))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPluginDir())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPluginDir", K(ret)); + } + break; + } + case SYS_VAR_UNDO_RETENTION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarUndoRetention)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarUndoRetention))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarUndoRetention())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarUndoRetention", K(ret)); + } + break; + } + case SYS_VAR__OB_USE_PARALLEL_EXECUTION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObUseParallelExecution)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObUseParallelExecution))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObUseParallelExecution())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObUseParallelExecution", K(ret)); + } + break; + } + case SYS_VAR_OB_SQL_AUDIT_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObSqlAuditPercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObSqlAuditPercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObSqlAuditPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObSqlAuditPercentage", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_SQL_AUDIT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableSqlAudit)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableSqlAudit))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableSqlAudit())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableSqlAudit", K(ret)); + } + break; + } + case SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerUseSqlPlanBaselines)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerUseSqlPlanBaselines))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerUseSqlPlanBaselines())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarOptimizerUseSqlPlanBaselines", K(ret)); + } + break; + } + case SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarOptimizerCaptureSqlPlanBaselines)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarOptimizerCaptureSqlPlanBaselines))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarOptimizerCaptureSqlPlanBaselines())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarOptimizerCaptureSqlPlanBaselines", K(ret)); + } + break; + } + case SYS_VAR_PARALLEL_MAX_SERVERS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarParallelMaxServers)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarParallelMaxServers))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarParallelMaxServers())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarParallelMaxServers", K(ret)); + } + break; + } + case SYS_VAR_PARALLEL_SERVERS_TARGET: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarParallelServersTarget)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarParallelServersTarget))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarParallelServersTarget())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarParallelServersTarget", K(ret)); + } + break; + } + case SYS_VAR_OB_EARLY_LOCK_RELEASE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEarlyLockRelease)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEarlyLockRelease))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEarlyLockRelease())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEarlyLockRelease", K(ret)); + } + break; + } + case SYS_VAR_OB_TRX_IDLE_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTrxIdleTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTrxIdleTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTrxIdleTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTrxIdleTimeout", K(ret)); + } + break; + } + case SYS_VAR_BLOCK_ENCRYPTION_MODE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarBlockEncryptionMode)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarBlockEncryptionMode))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarBlockEncryptionMode())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarBlockEncryptionMode", K(ret)); + } + break; + } + case SYS_VAR_NLS_DATE_FORMAT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsDateFormat)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsDateFormat))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsDateFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsDateFormat", K(ret)); + } + break; + } + case SYS_VAR_NLS_TIMESTAMP_FORMAT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsTimestampFormat)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsTimestampFormat))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsTimestampFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsTimestampFormat", K(ret)); + } + break; + } + case SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsTimestampTzFormat)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsTimestampTzFormat))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsTimestampTzFormat())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsTimestampTzFormat", K(ret)); + } + break; + } + case SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObReservedMetaMemoryPercentage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObReservedMetaMemoryPercentage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObReservedMetaMemoryPercentage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObReservedMetaMemoryPercentage", K(ret)); + } + break; + } + case SYS_VAR_OB_CHECK_SYS_VARIABLE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObCheckSysVariable)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObCheckSysVariable))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObCheckSysVariable())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObCheckSysVariable", K(ret)); + } + break; + } + case SYS_VAR_NLS_LANGUAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsLanguage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsLanguage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsLanguage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsLanguage", K(ret)); + } + break; + } + case SYS_VAR_NLS_TERRITORY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsTerritory)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsTerritory))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsTerritory())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsTerritory", K(ret)); + } + break; + } + case SYS_VAR_NLS_SORT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsSort)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsSort))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsSort())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsSort", K(ret)); + } + break; + } + case SYS_VAR_NLS_COMP: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsComp)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsComp))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsComp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsComp", K(ret)); + } + break; + } + case SYS_VAR_NLS_CHARACTERSET: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsCharacterset)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsCharacterset))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsCharacterset())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsCharacterset", K(ret)); + } + break; + } + case SYS_VAR_NLS_NCHAR_CHARACTERSET: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsNcharCharacterset)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsNcharCharacterset))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsNcharCharacterset())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsNcharCharacterset", K(ret)); + } + break; + } + case SYS_VAR_NLS_DATE_LANGUAGE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsDateLanguage)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsDateLanguage))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsDateLanguage())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsDateLanguage", K(ret)); + } + break; + } + case SYS_VAR_NLS_LENGTH_SEMANTICS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsLengthSemantics)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsLengthSemantics))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsLengthSemantics())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsLengthSemantics", K(ret)); + } + break; + } + case SYS_VAR_NLS_NCHAR_CONV_EXCP: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsNcharConvExcp)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsNcharConvExcp))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsNcharConvExcp())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsNcharConvExcp", K(ret)); + } + break; + } + case SYS_VAR_NLS_CALENDAR: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsCalendar)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsCalendar))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsCalendar())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsCalendar", K(ret)); + } + break; + } + case SYS_VAR_NLS_NUMERIC_CHARACTERS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsNumericCharacters)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsNumericCharacters))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsNumericCharacters())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsNumericCharacters", K(ret)); + } + break; + } + case SYS_VAR__NLJ_BATCHING_ENABLED: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNljBatchingEnabled)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNljBatchingEnabled))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNljBatchingEnabled())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNljBatchingEnabled", K(ret)); + } + break; + } + case SYS_VAR_TRACEFILE_IDENTIFIER: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTracefileIdentifier)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTracefileIdentifier))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTracefileIdentifier())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTracefileIdentifier", K(ret)); + } + break; + } + case SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarGroupbyNopushdownCutRatio)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarGroupbyNopushdownCutRatio))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarGroupbyNopushdownCutRatio())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarGroupbyNopushdownCutRatio", K(ret)); + } + break; + } + case SYS_VAR__PX_BROADCAST_FUDGE_FACTOR: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPxBroadcastFudgeFactor)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPxBroadcastFudgeFactor))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPxBroadcastFudgeFactor())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPxBroadcastFudgeFactor", K(ret)); + } + break; + } + case SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPrimaryZoneEntityCount)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPrimaryZoneEntityCount))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPrimaryZoneEntityCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPrimaryZoneEntityCount", K(ret)); + } + break; + } + case SYS_VAR_TRANSACTION_ISOLATION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTransactionIsolation)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTransactionIsolation))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTransactionIsolation())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTransactionIsolation", K(ret)); + } + break; + } + case SYS_VAR_OB_TRX_LOCK_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTrxLockTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTrxLockTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTrxLockTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTrxLockTimeout", K(ret)); + } + break; + } + case SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordCheckUserName)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordCheckUserName))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordCheckUserName())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordCheckUserName", K(ret)); + } + break; + } + case SYS_VAR_VALIDATE_PASSWORD_LENGTH: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordLength)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordLength))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordLength())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordLength", K(ret)); + } + break; + } + case SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordMixedCaseCount)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordMixedCaseCount))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordMixedCaseCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordMixedCaseCount", K(ret)); + } + break; + } + case SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordNumberCount)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordNumberCount))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordNumberCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordNumberCount", K(ret)); + } + break; + } + case SYS_VAR_VALIDATE_PASSWORD_POLICY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordPolicy)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordPolicy))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordPolicy())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordPolicy", K(ret)); + } + break; + } + case SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarValidatePasswordSpecialCharCount)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarValidatePasswordSpecialCharCount))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarValidatePasswordSpecialCharCount())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarValidatePasswordSpecialCharCount", K(ret)); + } + break; + } + case SYS_VAR_DEFAULT_PASSWORD_LIFETIME: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarDefaultPasswordLifetime)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarDefaultPasswordLifetime))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarDefaultPasswordLifetime())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarDefaultPasswordLifetime", K(ret)); + } + break; + } + case SYS_VAR_OB_TRACE_INFO: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObTraceInfo)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObTraceInfo))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObTraceInfo())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObTraceInfo", K(ret)); + } + break; + } + case SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObEnableBatchedMultiStatement)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObEnableBatchedMultiStatement))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObEnableBatchedMultiStatement())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObEnableBatchedMultiStatement", K(ret)); + } + break; + } + case SYS_VAR__PX_PARTITION_SCAN_THRESHOLD: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPxPartitionScanThreshold)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPxPartitionScanThreshold))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPxPartitionScanThreshold())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPxPartitionScanThreshold", K(ret)); + } + break; + } + case SYS_VAR__OB_PX_BCAST_OPTIMIZATION: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPxBcastOptimization)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPxBcastOptimization))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPxBcastOptimization())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPxBcastOptimization", K(ret)); + } + break; + } + case SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPxSlaveMappingThreshold)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPxSlaveMappingThreshold))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPxSlaveMappingThreshold())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPxSlaveMappingThreshold", K(ret)); + } + break; + } + case SYS_VAR__ENABLE_PARALLEL_DML: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarEnableParallelDml)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarEnableParallelDml))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableParallelDml())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarEnableParallelDml", K(ret)); + } + break; + } + case SYS_VAR__PX_MIN_GRANULES_PER_SLAVE: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPxMinGranulesPerSlave)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPxMinGranulesPerSlave))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPxMinGranulesPerSlave())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPxMinGranulesPerSlave", K(ret)); + } + break; + } + case SYS_VAR_SECURE_FILE_PRIV: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarSecureFilePriv)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarSecureFilePriv))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarSecureFilePriv())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarSecureFilePriv", K(ret)); + } + break; + } + case SYS_VAR_PLSQL_WARNINGS: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPlsqlWarnings)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPlsqlWarnings))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPlsqlWarnings())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPlsqlWarnings", K(ret)); + } + break; + } + case SYS_VAR__ENABLE_PARALLEL_QUERY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarEnableParallelQuery)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarEnableParallelQuery))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarEnableParallelQuery())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarEnableParallelQuery", K(ret)); + } + break; + } + case SYS_VAR__FORCE_PARALLEL_QUERY_DOP: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarForceParallelQueryDop)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarForceParallelQueryDop))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarForceParallelQueryDop())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarForceParallelQueryDop", K(ret)); + } + break; + } + case SYS_VAR__FORCE_PARALLEL_DML_DOP: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarForceParallelDmlDop)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarForceParallelDmlDop))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarForceParallelDmlDop())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarForceParallelDmlDop", K(ret)); + } + break; + } + case SYS_VAR_OB_PL_BLOCK_TIMEOUT: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObPlBlockTimeout)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObPlBlockTimeout))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObPlBlockTimeout())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObPlBlockTimeout", K(ret)); + } + break; + } + case SYS_VAR_TRANSACTION_READ_ONLY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarTransactionReadOnly)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarTransactionReadOnly))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarTransactionReadOnly())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarTransactionReadOnly", K(ret)); + } + break; + } + case SYS_VAR_RESOURCE_MANAGER_PLAN: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarResourceManagerPlan)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarResourceManagerPlan))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarResourceManagerPlan())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarResourceManagerPlan", K(ret)); + } + break; + } + case SYS_VAR_PERFORMANCE_SCHEMA: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarPerformanceSchema)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarPerformanceSchema))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarPerformanceSchema())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarPerformanceSchema", K(ret)); + } + break; + } + case SYS_VAR_NLS_CURRENCY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsCurrency)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsCurrency))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsCurrency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsCurrency", K(ret)); + } + break; + } + case SYS_VAR_NLS_ISO_CURRENCY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsIsoCurrency)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsIsoCurrency))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsIsoCurrency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsIsoCurrency", K(ret)); + } + break; + } + case SYS_VAR_NLS_DUAL_CURRENCY: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarNlsDualCurrency)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarNlsDualCurrency))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarNlsDualCurrency())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarNlsDualCurrency", K(ret)); + } + break; + } + case SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED: { + void *ptr = NULL; + if (OB_ISNULL(ptr = allocator_.alloc(sizeof(ObSysVarObProxySessionTemporaryTableUsed)))) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to alloc memory", K(ret), K(sizeof(ObSysVarObProxySessionTemporaryTableUsed))); + } else if (OB_ISNULL(sys_var_ptr = new (ptr)ObSysVarObProxySessionTemporaryTableUsed())) { + ret = OB_ALLOCATE_MEMORY_FAILED; + LOG_ERROR("fail to new ObSysVarObProxySessionTemporaryTableUsed", K(ret)); + } + break; + } + + default: { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("invalid system variable id", K(ret), K(sys_var_id)); + break; + } + } + } + if (OB_SUCC(ret)) { + if (OB_ISNULL(sys_var_ptr)) { + ret = OB_ERR_UNEXPECTED; + LOG_ERROR("ret is OB_SUCCESS, but sys_var_ptr is NULL", K(ret), K(sys_var_id)); + } else if (OB_NOT_NULL(store_[store_idx])) { + ret = OB_ERR_UNEXPECTED; + LOG_WARN("store_[store_idx] should be NULL", K(ret), K(sys_var_id)); + } else { + store_[store_idx] = sys_var_ptr; + sys_var = sys_var_ptr; + } + } + if (OB_FAIL(ret) && sys_var_ptr != nullptr) { + sys_var_ptr->~ObBasicSysVar(); + sys_var_ptr = NULL; + } + return ret; +} + +} +} diff --git a/src/share/system_variable/ob_system_variable_factory.h b/src/share/system_variable/ob_system_variable_factory.h index 71b8569e542d2ad4618c0595e274e40dbf10d006..4e9367463f2bb8e20d475fe0009eead031fa2343 100644 --- a/src/share/system_variable/ob_system_variable_factory.h +++ b/src/share/system_variable/ob_system_variable_factory.h @@ -12,2675 +12,1463 @@ #ifndef OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_FACTORY_ #define OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_FACTORY_ +#include "common/object/ob_object.h" +#include "share/system_variable/ob_system_variable.h" +#include "share/system_variable/ob_system_variable_init.h" #include "lib/allocator/page_arena.h" #include "lib/string/ob_string.h" #include "lib/container/ob_array.h" -#include "common/object/ob_object.h" -#include "share/system_variable/ob_system_variable.h" - -namespace oceanbase { -namespace share { -class ObSysVarAutoIncrementIncrement : public ObIntSysVar { -public: - ObSysVarAutoIncrementIncrement() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_AUTO_INCREMENT_INCREMENT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(0); - } -}; -class ObSysVarAutoIncrementOffset : public ObIntSysVar { -public: - ObSysVarAutoIncrementOffset() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_AUTO_INCREMENT_OFFSET; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(1); - } -}; -class ObSysVarAutocommit : public ObBoolSysVar { -public: - ObSysVarAutocommit() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_AUTOCOMMIT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(2); - } -}; -class ObSysVarCharacterSetClient : public ObCharsetSysVar { -public: - ObSysVarCharacterSetClient() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, - ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_CLIENT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(3); - } -}; -class ObSysVarCharacterSetConnection : public ObCharsetSysVar { -public: - ObSysVarCharacterSetConnection() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, - ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_CONNECTION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(4); - } -}; -class ObSysVarCharacterSetDatabase : public ObCharsetSysVar { -public: - ObSysVarCharacterSetDatabase() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, - ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_DATABASE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(5); - } -}; -class ObSysVarCharacterSetResults : public ObCharsetSysVar { -public: - ObSysVarCharacterSetResults() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset, NULL, ObSysVarToObjFuncs::to_obj_charset, - ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_RESULTS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(6); - } -}; -class ObSysVarCharacterSetServer : public ObCharsetSysVar { -public: - ObSysVarCharacterSetServer() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, - ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_SERVER; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(7); - } -}; -class ObSysVarCharacterSetSystem : public ObCharsetSysVar { -public: - ObSysVarCharacterSetSystem() - : ObCharsetSysVar(NULL, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_SYSTEM; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(8); - } -}; -class ObSysVarCollationConnection : public ObCharsetSysVar { -public: - ObSysVarCollationConnection() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_collation_not_null, NULL, - ObSysVarToObjFuncs::to_obj_collation, ObSysVarToStrFuncs::to_str_collation, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_COLLATION_CONNECTION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(9); - } -}; -class ObSysVarCollationDatabase : public ObCharsetSysVar { -public: - ObSysVarCollationDatabase() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_collation_not_null, NULL, - ObSysVarToObjFuncs::to_obj_collation, ObSysVarToStrFuncs::to_str_collation, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_COLLATION_DATABASE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(10); - } -}; -class ObSysVarCollationServer : public ObCharsetSysVar { -public: - ObSysVarCollationServer() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_collation_not_null, NULL, - ObSysVarToObjFuncs::to_obj_collation, ObSysVarToStrFuncs::to_str_collation, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_COLLATION_SERVER; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(11); - } -}; -class ObSysVarInteractiveTimeout : public ObIntSysVar { -public: - ObSysVarInteractiveTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_INTERACTIVE_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(12); - } -}; -class ObSysVarLastInsertId : public ObSessionSpecialIntSysVar { -public: - ObSysVarLastInsertId() - : ObSessionSpecialIntSysVar(NULL, ObSysVarSessionSpecialUpdateFuncs::update_last_insert_id, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LAST_INSERT_ID; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(13); - } -}; -class ObSysVarMaxAllowedPacket : public ObIntSysVar { -public: - ObSysVarMaxAllowedPacket() - : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_max_allowed_packet, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_MAX_ALLOWED_PACKET; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(14); - } -}; -class ObSysVarSqlMode : public ObSqlModeVar { -public: - ObSysVarSqlMode() - : ObSqlModeVar(ObSysVarOnCheckFuncs::check_and_convert_sql_mode, ObSysVarOnUpdateFuncs::update_sql_mode, - ObSysVarToObjFuncs::to_obj_sql_mode, ObSysVarToStrFuncs::to_str_sql_mode, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_MODE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(15); - } -}; -class ObSysVarTimeZone : public ObTimeZoneSysVar { -public: - ObSysVarTimeZone() : ObTimeZoneSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TIME_ZONE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(16); - } -}; -class ObSysVarTxIsolation : public ObSessionSpecialVarcharSysVar { -public: - ObSysVarTxIsolation() - : ObSessionSpecialVarcharSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_isolation, - ObSysVarOnUpdateFuncs::update_tx_isolation, ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation, NULL, - NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TX_ISOLATION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(17); - } -}; -class ObSysVarVersionComment : public ObVarcharSysVar { -public: - ObSysVarVersionComment() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VERSION_COMMENT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(18); - } -}; -class ObSysVarWaitTimeout : public ObIntSysVar { -public: - ObSysVarWaitTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_WAIT_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(19); - } -}; -class ObSysVarBinlogRowImage : public ObEnumSysVar { -public: - const static char* BINLOG_ROW_IMAGE_NAMES[]; +namespace oceanbase +{ +namespace share +{ +class ObSysVarAutoIncrementIncrement : public ObIntSysVar +{ public: - ObSysVarBinlogRowImage() : ObEnumSysVar(BINLOG_ROW_IMAGE_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_BINLOG_ROW_IMAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(20); - } -}; -class ObSysVarCharacterSetFilesystem : public ObCharsetSysVar { -public: - ObSysVarCharacterSetFilesystem() - : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, - ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, - ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CHARACTER_SET_FILESYSTEM; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(21); - } -}; -class ObSysVarConnectTimeout : public ObIntSysVar { -public: - ObSysVarConnectTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CONNECT_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(22); - } -}; -class ObSysVarDatadir : public ObVarcharSysVar { -public: - ObSysVarDatadir() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_DATADIR; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(23); - } -}; -class ObSysVarDebugSync : public ObVarcharSysVar { -public: - ObSysVarDebugSync() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_DEBUG_SYNC; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(24); - } -}; -class ObSysVarDivPrecisionIncrement : public ObIntSysVar { -public: - ObSysVarDivPrecisionIncrement() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_DIV_PRECISION_INCREMENT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(25); - } -}; -class ObSysVarExplicitDefaultsForTimestamp : public ObBoolSysVar { -public: - ObSysVarExplicitDefaultsForTimestamp() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(26); - } -}; -class ObSysVarGroupConcatMaxLen : public ObIntSysVar { -public: - ObSysVarGroupConcatMaxLen() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_GROUP_CONCAT_MAX_LEN; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(27); - } -}; -class ObSysVarIdentity : public ObSessionSpecialIntSysVar { -public: - ObSysVarIdentity() - : ObSessionSpecialIntSysVar(NULL, ObSysVarSessionSpecialUpdateFuncs::update_identity, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_IDENTITY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(28); - } -}; -class ObSysVarLowerCaseTableNames : public ObIntSysVar { -public: - ObSysVarLowerCaseTableNames() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LOWER_CASE_TABLE_NAMES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(29); - } -}; -class ObSysVarNetReadTimeout : public ObIntSysVar { -public: - ObSysVarNetReadTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NET_READ_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(30); - } -}; -class ObSysVarNetWriteTimeout : public ObIntSysVar { -public: - ObSysVarNetWriteTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NET_WRITE_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(31); - } -}; -class ObSysVarReadOnly : public ObBoolSysVar { -public: - ObSysVarReadOnly() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_READ_ONLY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(32); - } -}; -class ObSysVarSqlAutoIsNull : public ObBoolSysVar { -public: - ObSysVarSqlAutoIsNull() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_AUTO_IS_NULL; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(33); - } -}; -class ObSysVarSqlSelectLimit : public ObIntSysVar { -public: - ObSysVarSqlSelectLimit() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_SELECT_LIMIT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(34); - } -}; -class ObSysVarTimestamp : public ObNumericSysVar { -public: - ObSysVarTimestamp() - : ObNumericSysVar(ObSysVarOnCheckFuncs::check_and_convert_max_min_timestamp, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TIMESTAMP; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(35); - } -}; -class ObSysVarTxReadOnly : public ObSessionSpecialBoolSysVar { -public: - ObSysVarTxReadOnly() - : ObSessionSpecialBoolSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_read_only, - ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope, ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only, - NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TX_READ_ONLY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(36); - } -}; -class ObSysVarVersion : public ObVarcharSysVar { -public: - ObSysVarVersion() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VERSION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(37); - } -}; -class ObSysVarSqlWarnings : public ObBoolSysVar { -public: - ObSysVarSqlWarnings() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_WARNINGS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(38); - } -}; -class ObSysVarMaxUserConnections : public ObIntSysVar { -public: - ObSysVarMaxUserConnections() - : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_max_user_connections, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_MAX_USER_CONNECTIONS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(39); - } -}; -class ObSysVarInitConnect : public ObVarcharSysVar { -public: - ObSysVarInitConnect() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_INIT_CONNECT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(40); - } -}; -class ObSysVarLicense : public ObVarcharSysVar { -public: - ObSysVarLicense() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LICENSE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(41); - } -}; -class ObSysVarNetBufferLength : public ObIntSysVar { -public: - ObSysVarNetBufferLength() - : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_net_buffer_length, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NET_BUFFER_LENGTH; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(42); - } -}; -class ObSysVarSystemTimeZone : public ObVarcharSysVar { -public: - ObSysVarSystemTimeZone() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SYSTEM_TIME_ZONE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(43); - } -}; -class ObSysVarQueryCacheSize : public ObIntSysVar { -public: - ObSysVarQueryCacheSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_QUERY_CACHE_SIZE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(44); - } -}; -class ObSysVarQueryCacheType : public ObEnumSysVar { -public: - const static char* QUERY_CACHE_TYPE_NAMES[]; - + ObSysVarAutoIncrementIncrement() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_AUTO_INCREMENT_INCREMENT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(0); } +}; +class ObSysVarAutoIncrementOffset : public ObIntSysVar +{ public: - ObSysVarQueryCacheType() : ObEnumSysVar(QUERY_CACHE_TYPE_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_QUERY_CACHE_TYPE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(45); - } -}; -class ObSysVarSqlQuoteShowCreate : public ObBoolSysVar { -public: - ObSysVarSqlQuoteShowCreate() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_QUOTE_SHOW_CREATE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(46); - } -}; -class ObSysVarMaxSpRecursionDepth : public ObIntSysVar { -public: - ObSysVarMaxSpRecursionDepth() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_MAX_SP_RECURSION_DEPTH; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(47); - } -}; -class ObSysVarSqlSafeUpdates : public ObBoolSysVar { -public: - ObSysVarSqlSafeUpdates() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_SAFE_UPDATES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(48); - } -}; -class ObSysVarConcurrentInsert : public ObVarcharSysVar { -public: - ObSysVarConcurrentInsert() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_CONCURRENT_INSERT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(49); - } -}; -class ObSysVarDefaultAuthenticationPlugin : public ObVarcharSysVar { -public: - ObSysVarDefaultAuthenticationPlugin() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(50); - } -}; -class ObSysVarDisabledStorageEngines : public ObVarcharSysVar { -public: - ObSysVarDisabledStorageEngines() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_DISABLED_STORAGE_ENGINES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(51); - } -}; -class ObSysVarErrorCount : public ObIntSysVar { -public: - ObSysVarErrorCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_ERROR_COUNT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(52); - } -}; -class ObSysVarGeneralLog : public ObBoolSysVar { -public: - ObSysVarGeneralLog() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_GENERAL_LOG; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(53); - } -}; -class ObSysVarHaveOpenssl : public ObVarcharSysVar { -public: - ObSysVarHaveOpenssl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_HAVE_OPENSSL; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(54); - } -}; -class ObSysVarHaveProfiling : public ObVarcharSysVar { -public: - ObSysVarHaveProfiling() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_HAVE_PROFILING; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(55); - } -}; -class ObSysVarHaveSsl : public ObVarcharSysVar { -public: - ObSysVarHaveSsl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_HAVE_SSL; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(56); - } -}; -class ObSysVarHostname : public ObVarcharSysVar { -public: - ObSysVarHostname() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_HOSTNAME; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(57); - } -}; -class ObSysVarLcMessages : public ObVarcharSysVar { -public: - ObSysVarLcMessages() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LC_MESSAGES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(58); - } -}; -class ObSysVarLocalInfile : public ObBoolSysVar { -public: - ObSysVarLocalInfile() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LOCAL_INFILE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(59); - } -}; -class ObSysVarLockWaitTimeout : public ObIntSysVar { -public: - ObSysVarLockWaitTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LOCK_WAIT_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(60); - } -}; -class ObSysVarLongQueryTime : public ObNumericSysVar { -public: - ObSysVarLongQueryTime() : ObNumericSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_LONG_QUERY_TIME; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(61); - } -}; -class ObSysVarMaxConnections : public ObIntSysVar { -public: - ObSysVarMaxConnections() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_MAX_CONNECTIONS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(62); - } -}; -class ObSysVarMaxExecutionTime : public ObIntSysVar { -public: - ObSysVarMaxExecutionTime() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_MAX_EXECUTION_TIME; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(63); - } -}; -class ObSysVarProtocolVersion : public ObIntSysVar { -public: - ObSysVarProtocolVersion() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_PROTOCOL_VERSION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(64); - } -}; -class ObSysVarServerId : public ObIntSysVar { -public: - ObSysVarServerId() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SERVER_ID; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(65); - } -}; -class ObSysVarSslCa : public ObVarcharSysVar { -public: - ObSysVarSslCa() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_CA; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(66); - } -}; -class ObSysVarSslCapath : public ObVarcharSysVar { -public: - ObSysVarSslCapath() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_CAPATH; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(67); - } -}; -class ObSysVarSslCert : public ObVarcharSysVar { -public: - ObSysVarSslCert() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_CERT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(68); - } -}; -class ObSysVarSslCipher : public ObVarcharSysVar { -public: - ObSysVarSslCipher() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_CIPHER; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(69); - } -}; -class ObSysVarSslCrl : public ObVarcharSysVar { -public: - ObSysVarSslCrl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_CRL; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(70); - } -}; -class ObSysVarSslCrlpath : public ObVarcharSysVar { -public: - ObSysVarSslCrlpath() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_CRLPATH; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(71); - } -}; -class ObSysVarSslKey : public ObVarcharSysVar { -public: - ObSysVarSslKey() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SSL_KEY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(72); - } -}; -class ObSysVarTimeFormat : public ObVarcharSysVar { -public: - ObSysVarTimeFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TIME_FORMAT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(73); - } -}; -class ObSysVarTlsVersion : public ObVarcharSysVar { -public: - ObSysVarTlsVersion() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TLS_VERSION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(74); - } -}; -class ObSysVarTmpTableSize : public ObIntSysVar { -public: - ObSysVarTmpTableSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TMP_TABLE_SIZE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(75); - } -}; -class ObSysVarTmpdir : public ObVarcharSysVar { -public: - ObSysVarTmpdir() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TMPDIR; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(76); - } -}; -class ObSysVarUniqueChecks : public ObBoolSysVar { -public: - ObSysVarUniqueChecks() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_UNIQUE_CHECKS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(77); - } -}; -class ObSysVarVersionCompileMachine : public ObVarcharSysVar { -public: - ObSysVarVersionCompileMachine() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VERSION_COMPILE_MACHINE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(78); - } -}; -class ObSysVarVersionCompileOs : public ObVarcharSysVar { -public: - ObSysVarVersionCompileOs() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VERSION_COMPILE_OS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(79); - } -}; -class ObSysVarWarningCount : public ObIntSysVar { -public: - ObSysVarWarningCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_WARNING_COUNT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(80); - } -}; -class ObSysVarObDefaultReplicaNum : public ObIntSysVar { -public: - ObSysVarObDefaultReplicaNum() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_DEFAULT_REPLICA_NUM; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(81); - } -}; -class ObSysVarObIntermResultMemLimit : public ObIntSysVar { -public: - ObSysVarObIntermResultMemLimit() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(82); - } -}; -class ObSysVarObProxyPartitionHit : public ObBoolSysVar { -public: - ObSysVarObProxyPartitionHit() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PROXY_PARTITION_HIT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(83); - } -}; -class ObSysVarObLogLevel : public ObVarcharSysVar { -public: - ObSysVarObLogLevel() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_LOG_LEVEL; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(84); - } -}; -class ObSysVarObMaxParallelDegree : public ObIntSysVar { -public: - ObSysVarObMaxParallelDegree() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_MAX_PARALLEL_DEGREE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(85); - } -}; -class ObSysVarObQueryTimeout : public ObIntSysVar { -public: - ObSysVarObQueryTimeout() - : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_QUERY_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(86); - } -}; -class ObSysVarObReadConsistency : public ObEnumSysVar { -public: - const static char* OB_READ_CONSISTENCY_NAMES[]; - + ObSysVarAutoIncrementOffset() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_AUTO_INCREMENT_OFFSET; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(1); } +}; +class ObSysVarAutocommit : public ObBoolSysVar +{ public: - ObSysVarObReadConsistency() : ObEnumSysVar(OB_READ_CONSISTENCY_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_READ_CONSISTENCY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(87); - } -}; -class ObSysVarObEnableTransformation : public ObBoolSysVar { -public: - ObSysVarObEnableTransformation() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_TRANSFORMATION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(88); - } -}; -class ObSysVarObTrxTimeout : public ObIntSysVar { -public: - ObSysVarObTrxTimeout() - : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TRX_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(89); - } -}; -class ObSysVarObEnablePlanCache : public ObBoolSysVar { -public: - ObSysVarObEnablePlanCache() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_PLAN_CACHE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(90); - } -}; -class ObSysVarObEnableIndexDirectSelect : public ObBoolSysVar { -public: - ObSysVarObEnableIndexDirectSelect() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(91); - } -}; -class ObSysVarObProxySetTrxExecuted : public ObBoolSysVar { -public: - ObSysVarObProxySetTrxExecuted() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PROXY_SET_TRX_EXECUTED; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(92); - } -}; -class ObSysVarObEnableAggregationPushdown : public ObBoolSysVar { -public: - ObSysVarObEnableAggregationPushdown() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(93); - } -}; -class ObSysVarObLastSchemaVersion : public ObIntSysVar { -public: - ObSysVarObLastSchemaVersion() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_LAST_SCHEMA_VERSION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(94); - } -}; -class ObSysVarObGlobalDebugSync : public ObVarcharSysVar { -public: - ObSysVarObGlobalDebugSync() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_GLOBAL_DEBUG_SYNC; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(95); - } -}; -class ObSysVarObProxyGlobalVariablesVersion : public ObIntSysVar { -public: - ObSysVarObProxyGlobalVariablesVersion() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(96); - } -}; -class ObSysVarObEnableTraceLog : public ObBoolSysVar { -public: - ObSysVarObEnableTraceLog() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_TRACE_LOG; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(97); - } -}; -class ObSysVarObEnableHashGroupBy : public ObBoolSysVar { -public: - ObSysVarObEnableHashGroupBy() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_HASH_GROUP_BY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(98); - } -}; -class ObSysVarObEnableBlkNestedloopJoin : public ObBoolSysVar { -public: - ObSysVarObEnableBlkNestedloopJoin() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(99); - } -}; -class ObSysVarObBnlJoinCacheSize : public ObIntSysVar { -public: - ObSysVarObBnlJoinCacheSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_BNL_JOIN_CACHE_SIZE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(100); - } -}; -class ObSysVarObProxyUserPrivilege : public ObIntSysVar { -public: - ObSysVarObProxyUserPrivilege() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PROXY_USER_PRIVILEGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(101); - } -}; -class ObSysVarObOrgClusterId : public ObStrictRangeIntSysVar { -public: - ObSysVarObOrgClusterId() - : ObStrictRangeIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_ob_org_cluster_id, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ORG_CLUSTER_ID; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(102); - } -}; -class ObSysVarObPlanCachePercentage : public ObIntSysVar { -public: - ObSysVarObPlanCachePercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PLAN_CACHE_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(103); - } -}; -class ObSysVarObPlanCacheEvictHighPercentage : public ObIntSysVar { -public: - ObSysVarObPlanCacheEvictHighPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(104); - } -}; -class ObSysVarObPlanCacheEvictLowPercentage : public ObIntSysVar { -public: - ObSysVarObPlanCacheEvictLowPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(105); - } -}; -class ObSysVarRecyclebin : public ObBoolSysVar { -public: - ObSysVarRecyclebin() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_RECYCLEBIN; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(106); - } -}; -class ObSysVarObCapabilityFlag : public ObIntSysVar { -public: - ObSysVarObCapabilityFlag() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_CAPABILITY_FLAG; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(107); - } -}; -class ObSysVarObStmtParallelDegree : public ObIntSysVar { -public: - ObSysVarObStmtParallelDegree() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_STMT_PARALLEL_DEGREE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(108); - } -}; -class ObSysVarIsResultAccurate : public ObBoolSysVar { -public: - ObSysVarIsResultAccurate() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_IS_RESULT_ACCURATE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(109); - } -}; -class ObSysVarErrorOnOverlapTime : public ObBoolSysVar { -public: - ObSysVarErrorOnOverlapTime() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_ERROR_ON_OVERLAP_TIME; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(110); - } -}; -class ObSysVarObCompatibilityMode : public ObEnumSysVar { -public: - const static char* OB_COMPATIBILITY_MODE_NAMES[]; - + ObSysVarAutocommit() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_AUTOCOMMIT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(2); } +}; +class ObSysVarCharacterSetClient : public ObCharsetSysVar +{ public: - ObSysVarObCompatibilityMode() : ObEnumSysVar(OB_COMPATIBILITY_MODE_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_COMPATIBILITY_MODE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(111); - } -}; -class ObSysVarObCreateTableStrictMode : public ObBoolSysVar { -public: - ObSysVarObCreateTableStrictMode() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_CREATE_TABLE_STRICT_MODE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(112); - } -}; -class ObSysVarObSqlWorkAreaPercentage : public ObIntSysVar { -public: - ObSysVarObSqlWorkAreaPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(113); - } -}; -class ObSysVarObSafeWeakReadSnapshot : public ObIntSysVar { -public: - ObSysVarObSafeWeakReadSnapshot() - : ObIntSysVar(NULL, ObSysVarOnUpdateFuncs::update_safe_weak_read_snapshot, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(114); - } -}; -class ObSysVarObRoutePolicy : public ObEnumSysVar { -public: - const static char* OB_ROUTE_POLICY_NAMES[]; - + ObSysVarCharacterSetClient() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_CLIENT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(3); } +}; +class ObSysVarCharacterSetConnection : public ObCharsetSysVar +{ public: - ObSysVarObRoutePolicy() : ObEnumSysVar(OB_ROUTE_POLICY_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ROUTE_POLICY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(115); - } -}; -class ObSysVarObEnableTransmissionChecksum : public ObBoolSysVar { -public: - ObSysVarObEnableTransmissionChecksum() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(116); - } -}; -class ObSysVarForeignKeyChecks : public ObBoolSysVar { -public: - ObSysVarForeignKeyChecks() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_FOREIGN_KEY_CHECKS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(117); - } -}; -class ObSysVarObStatementTraceId : public ObVarcharSysVar { -public: - ObSysVarObStatementTraceId() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_STATEMENT_TRACE_ID; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(118); - } -}; -class ObSysVarObEnableTruncateFlashback : public ObBoolSysVar { -public: - ObSysVarObEnableTruncateFlashback() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(119); - } -}; -class ObSysVarObTcpInvitedNodes : public ObVarcharSysVar { -public: - ObSysVarObTcpInvitedNodes() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TCP_INVITED_NODES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(120); - } -}; -class ObSysVarSqlThrottleCurrentPriority : public ObIntSysVar { -public: - ObSysVarSqlThrottleCurrentPriority() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(121); - } -}; -class ObSysVarSqlThrottlePriority : public ObIntSysVar { -public: - ObSysVarSqlThrottlePriority() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_PRIORITY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(122); - } -}; -class ObSysVarSqlThrottleRt : public ObNumericSysVar { -public: - ObSysVarSqlThrottleRt() : ObNumericSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_RT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(123); - } -}; -class ObSysVarSqlThrottleCpu : public ObNumericSysVar { -public: - ObSysVarSqlThrottleCpu() : ObNumericSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_CPU; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(124); - } -}; -class ObSysVarSqlThrottleIo : public ObIntSysVar { -public: - ObSysVarSqlThrottleIo() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_IO; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(125); - } -}; -class ObSysVarSqlThrottleNetwork : public ObNumericSysVar { -public: - ObSysVarSqlThrottleNetwork() - : ObNumericSysVar(ObSysVarOnCheckFuncs::check_and_convert_sql_throttle_queue_time, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_NETWORK; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(126); - } -}; -class ObSysVarSqlThrottleLogicalReads : public ObIntSysVar { -public: - ObSysVarSqlThrottleLogicalReads() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SQL_THROTTLE_LOGICAL_READS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(127); - } -}; -class ObSysVarAutoIncrementCacheSize : public ObIntSysVar { -public: - ObSysVarAutoIncrementCacheSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_AUTO_INCREMENT_CACHE_SIZE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(128); - } -}; -class ObSysVarObEnableJit : public ObEnumSysVar { -public: - const static char* OB_ENABLE_JIT_NAMES[]; - + ObSysVarCharacterSetConnection() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_CONNECTION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(4); } +}; +class ObSysVarCharacterSetDatabase : public ObCharsetSysVar +{ public: - ObSysVarObEnableJit() : ObEnumSysVar(OB_ENABLE_JIT_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_JIT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(129); - } -}; -class ObSysVarObTempTablespaceSizePercentage : public ObIntSysVar { -public: - ObSysVarObTempTablespaceSizePercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(130); - } -}; -class ObSysVarOptimizerAdaptiveCursorSharing : public ObBoolSysVar { -public: - ObSysVarOptimizerAdaptiveCursorSharing() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(131); - } -}; -class ObSysVarObTimestampService : public ObEnumSysVar { -public: - const static char* OB_TIMESTAMP_SERVICE_NAMES[]; - + ObSysVarCharacterSetDatabase() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_DATABASE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(5); } +}; +class ObSysVarCharacterSetResults : public ObCharsetSysVar +{ public: - ObSysVarObTimestampService() - : ObEnumSysVar(OB_TIMESTAMP_SERVICE_NAMES, ObSysVarOnCheckFuncs::check_and_convert_timestamp_service, NULL, NULL, - NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TIMESTAMP_SERVICE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(132); - } -}; -class ObSysVarPluginDir : public ObVarcharSysVar { -public: - ObSysVarPluginDir() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_PLUGIN_DIR; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(133); - } -}; -class ObSysVarUndoRetention : public ObIntSysVar { -public: - ObSysVarUndoRetention() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_UNDO_RETENTION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(134); - } -}; -class ObSysVarObUseParallelExecution : public ObBoolSysVar { -public: - ObSysVarObUseParallelExecution() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__OB_USE_PARALLEL_EXECUTION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(135); - } -}; -class ObSysVarObSqlAuditPercentage : public ObIntSysVar { -public: - ObSysVarObSqlAuditPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_SQL_AUDIT_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(136); - } -}; -class ObSysVarObEnableSqlAudit : public ObBoolSysVar { -public: - ObSysVarObEnableSqlAudit() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_SQL_AUDIT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(137); - } -}; -class ObSysVarOptimizerUseSqlPlanBaselines : public ObBoolSysVar { -public: - ObSysVarOptimizerUseSqlPlanBaselines() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(138); - } -}; -class ObSysVarOptimizerCaptureSqlPlanBaselines : public ObBoolSysVar { -public: - ObSysVarOptimizerCaptureSqlPlanBaselines() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(139); - } -}; -class ObSysVarParallelMaxServers : public ObIntSysVar { -public: - ObSysVarParallelMaxServers() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_PARALLEL_MAX_SERVERS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(140); - } -}; -class ObSysVarParallelServersTarget : public ObIntSysVar { -public: - ObSysVarParallelServersTarget() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_PARALLEL_SERVERS_TARGET; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(141); - } -}; -class ObSysVarObEarlyLockRelease : public ObBoolSysVar { -public: - ObSysVarObEarlyLockRelease() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_EARLY_LOCK_RELEASE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(142); - } -}; -class ObSysVarObTrxIdleTimeout : public ObIntSysVar { -public: - ObSysVarObTrxIdleTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TRX_IDLE_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(143); - } -}; -class ObSysVarBlockEncryptionMode : public ObEnumSysVar { -public: - const static char* BLOCK_ENCRYPTION_MODE_NAMES[]; - + ObSysVarCharacterSetResults() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_RESULTS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(6); } +}; +class ObSysVarCharacterSetServer : public ObCharsetSysVar +{ public: - ObSysVarBlockEncryptionMode() : ObEnumSysVar(BLOCK_ENCRYPTION_MODE_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_BLOCK_ENCRYPTION_MODE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(144); - } -}; -class ObSysVarNlsDateFormat : public ObVarcharSysVar { -public: - ObSysVarNlsDateFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_DATE_FORMAT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(145); - } -}; -class ObSysVarNlsTimestampFormat : public ObVarcharSysVar { -public: - ObSysVarNlsTimestampFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_TIMESTAMP_FORMAT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(146); - } -}; -class ObSysVarNlsTimestampTzFormat : public ObVarcharSysVar { -public: - ObSysVarNlsTimestampTzFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(147); - } -}; -class ObSysVarObReservedMetaMemoryPercentage : public ObIntSysVar { -public: - ObSysVarObReservedMetaMemoryPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(148); - } -}; -class ObSysVarObCheckSysVariable : public ObBoolSysVar { -public: - ObSysVarObCheckSysVariable() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_CHECK_SYS_VARIABLE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(149); - } -}; -class ObSysVarNlsLanguage : public ObVarcharSysVar { -public: - ObSysVarNlsLanguage() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_LANGUAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(150); - } -}; -class ObSysVarNlsTerritory : public ObVarcharSysVar { -public: - ObSysVarNlsTerritory() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_TERRITORY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(151); - } -}; -class ObSysVarNlsSort : public ObVarcharSysVar { -public: - ObSysVarNlsSort() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_SORT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(152); - } -}; -class ObSysVarNlsComp : public ObVarcharSysVar { -public: - ObSysVarNlsComp() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_COMP; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(153); - } -}; -class ObSysVarNlsCharacterset : public ObVarcharSysVar { -public: - ObSysVarNlsCharacterset() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_CHARACTERSET; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(154); - } -}; -class ObSysVarNlsNcharCharacterset : public ObVarcharSysVar { -public: - ObSysVarNlsNcharCharacterset() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_NCHAR_CHARACTERSET; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(155); - } -}; -class ObSysVarNlsDateLanguage : public ObVarcharSysVar { -public: - ObSysVarNlsDateLanguage() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_DATE_LANGUAGE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(156); - } -}; -class ObSysVarNlsLengthSemantics : public ObVarcharSysVar { -public: - ObSysVarNlsLengthSemantics() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_LENGTH_SEMANTICS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(157); - } -}; -class ObSysVarNlsNcharConvExcp : public ObVarcharSysVar { -public: - ObSysVarNlsNcharConvExcp() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_NCHAR_CONV_EXCP; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(158); - } -}; -class ObSysVarNlsCalendar : public ObVarcharSysVar { -public: - ObSysVarNlsCalendar() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_CALENDAR; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(159); - } -}; -class ObSysVarNlsNumericCharacters : public ObVarcharSysVar { -public: - ObSysVarNlsNumericCharacters() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_NUMERIC_CHARACTERS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(160); - } -}; -class ObSysVarNljBatchingEnabled : public ObBoolSysVar { -public: - ObSysVarNljBatchingEnabled() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__NLJ_BATCHING_ENABLED; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(161); - } -}; -class ObSysVarTracefileIdentifier : public ObVarcharSysVar { -public: - ObSysVarTracefileIdentifier() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TRACEFILE_IDENTIFIER; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(162); - } -}; -class ObSysVarGroupbyNopushdownCutRatio : public ObIntSysVar { -public: - ObSysVarGroupbyNopushdownCutRatio() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(163); - } -}; -class ObSysVarPxBroadcastFudgeFactor : public ObIntSysVar { -public: - ObSysVarPxBroadcastFudgeFactor() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__PX_BROADCAST_FUDGE_FACTOR; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(164); - } -}; -class ObSysVarPrimaryZoneEntityCount : public ObIntSysVar { -public: - ObSysVarPrimaryZoneEntityCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(165); - } -}; -class ObSysVarTransactionIsolation : public ObSessionSpecialVarcharSysVar { -public: - ObSysVarTransactionIsolation() - : ObSessionSpecialVarcharSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_isolation, - ObSysVarOnUpdateFuncs::update_tx_isolation, ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation, NULL, - NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TRANSACTION_ISOLATION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(166); - } -}; -class ObSysVarObTrxLockTimeout : public ObIntSysVar { -public: - ObSysVarObTrxLockTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TRX_LOCK_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(167); - } -}; -class ObSysVarValidatePasswordCheckUserName : public ObEnumSysVar { -public: - const static char* VALIDATE_PASSWORD_CHECK_USER_NAME_NAMES[]; - + ObSysVarCharacterSetServer() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_SERVER; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(7); } +}; +class ObSysVarCharacterSetSystem : public ObCharsetSysVar +{ public: - ObSysVarValidatePasswordCheckUserName() - : ObEnumSysVar(VALIDATE_PASSWORD_CHECK_USER_NAME_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(168); - } -}; -class ObSysVarValidatePasswordLength : public ObIntSysVar { -public: - ObSysVarValidatePasswordLength() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VALIDATE_PASSWORD_LENGTH; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(169); - } -}; -class ObSysVarValidatePasswordMixedCaseCount : public ObIntSysVar { -public: - ObSysVarValidatePasswordMixedCaseCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(170); - } -}; -class ObSysVarValidatePasswordNumberCount : public ObIntSysVar { -public: - ObSysVarValidatePasswordNumberCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(171); - } -}; -class ObSysVarValidatePasswordPolicy : public ObEnumSysVar { -public: - const static char* VALIDATE_PASSWORD_POLICY_NAMES[]; - + ObSysVarCharacterSetSystem() : ObCharsetSysVar(NULL, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_SYSTEM; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(8); } +}; +class ObSysVarCollationConnection : public ObCharsetSysVar +{ public: - ObSysVarValidatePasswordPolicy() : ObEnumSysVar(VALIDATE_PASSWORD_POLICY_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VALIDATE_PASSWORD_POLICY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(172); - } -}; -class ObSysVarValidatePasswordSpecialCharCount : public ObIntSysVar { -public: - ObSysVarValidatePasswordSpecialCharCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(173); - } -}; -class ObSysVarDefaultPasswordLifetime : public ObIntSysVar { -public: - ObSysVarDefaultPasswordLifetime() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_DEFAULT_PASSWORD_LIFETIME; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(174); - } -}; -class ObSysVarObTraceInfo : public ObVarcharSysVar { -public: - ObSysVarObTraceInfo() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_TRACE_INFO; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(175); - } -}; -class ObSysVarObEnableBatchedMultiStatement : public ObBoolSysVar { -public: - ObSysVarObEnableBatchedMultiStatement() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(176); - } -}; -class ObSysVarPxPartitionScanThreshold : public ObIntSysVar { -public: - ObSysVarPxPartitionScanThreshold() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__PX_PARTITION_SCAN_THRESHOLD; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(177); - } -}; -class ObSysVarObPxBcastOptimization : public ObEnumSysVar { -public: - const static char* _OB_PX_BCAST_OPTIMIZATION_NAMES[]; - + ObSysVarCollationConnection() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_collation_not_null, NULL, ObSysVarToObjFuncs::to_obj_collation, ObSysVarToStrFuncs::to_str_collation, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_COLLATION_CONNECTION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(9); } +}; +class ObSysVarCollationDatabase : public ObCharsetSysVar +{ +public: + ObSysVarCollationDatabase() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_collation_not_null, NULL, ObSysVarToObjFuncs::to_obj_collation, ObSysVarToStrFuncs::to_str_collation, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_COLLATION_DATABASE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(10); } +}; +class ObSysVarCollationServer : public ObCharsetSysVar +{ +public: + ObSysVarCollationServer() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_collation_not_null, NULL, ObSysVarToObjFuncs::to_obj_collation, ObSysVarToStrFuncs::to_str_collation, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_COLLATION_SERVER; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(11); } +}; +class ObSysVarInteractiveTimeout : public ObIntSysVar +{ +public: + ObSysVarInteractiveTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INTERACTIVE_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(12); } +}; +class ObSysVarLastInsertId : public ObSessionSpecialIntSysVar +{ +public: + ObSysVarLastInsertId() : ObSessionSpecialIntSysVar(NULL, ObSysVarSessionSpecialUpdateFuncs::update_last_insert_id, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LAST_INSERT_ID; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(13); } +}; +class ObSysVarMaxAllowedPacket : public ObIntSysVar +{ +public: + ObSysVarMaxAllowedPacket() : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_max_allowed_packet, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_MAX_ALLOWED_PACKET; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(14); } +}; +class ObSysVarSqlMode : public ObSqlModeVar +{ +public: + ObSysVarSqlMode() : ObSqlModeVar(ObSysVarOnCheckFuncs::check_and_convert_sql_mode, ObSysVarOnUpdateFuncs::update_sql_mode, ObSysVarToObjFuncs::to_obj_sql_mode, ObSysVarToStrFuncs::to_str_sql_mode, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_MODE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(15); } +}; +class ObSysVarTimeZone : public ObTimeZoneSysVar +{ +public: + ObSysVarTimeZone() : ObTimeZoneSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TIME_ZONE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(16); } +}; +class ObSysVarTxIsolation : public ObSessionSpecialVarcharSysVar +{ +public: + ObSysVarTxIsolation() : ObSessionSpecialVarcharSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_isolation, ObSysVarOnUpdateFuncs::update_tx_isolation, ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TX_ISOLATION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(17); } +}; +class ObSysVarVersionComment : public ObVarcharSysVar +{ +public: + ObSysVarVersionComment() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VERSION_COMMENT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(18); } +}; +class ObSysVarWaitTimeout : public ObIntSysVar +{ +public: + ObSysVarWaitTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_WAIT_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(19); } +}; +class ObSysVarBinlogRowImage : public ObEnumSysVar +{ +public: + const static char * BINLOG_ROW_IMAGE_NAMES[]; +public: + ObSysVarBinlogRowImage() : ObEnumSysVar(BINLOG_ROW_IMAGE_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_BINLOG_ROW_IMAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(20); } +}; +class ObSysVarCharacterSetFilesystem : public ObCharsetSysVar +{ +public: + ObSysVarCharacterSetFilesystem() : ObCharsetSysVar(ObSysVarOnCheckFuncs::check_and_convert_charset_not_null, NULL, ObSysVarToObjFuncs::to_obj_charset, ObSysVarToStrFuncs::to_str_charset, ObSysVarGetMetaTypeFuncs::get_meta_type_varchar) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CHARACTER_SET_FILESYSTEM; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(21); } +}; +class ObSysVarConnectTimeout : public ObIntSysVar +{ +public: + ObSysVarConnectTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CONNECT_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(22); } +}; +class ObSysVarDatadir : public ObVarcharSysVar +{ +public: + ObSysVarDatadir() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DATADIR; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(23); } +}; +class ObSysVarDebugSync : public ObVarcharSysVar +{ +public: + ObSysVarDebugSync() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DEBUG_SYNC; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(24); } +}; +class ObSysVarDivPrecisionIncrement : public ObIntSysVar +{ +public: + ObSysVarDivPrecisionIncrement() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DIV_PRECISION_INCREMENT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(25); } +}; +class ObSysVarExplicitDefaultsForTimestamp : public ObBoolSysVar +{ +public: + ObSysVarExplicitDefaultsForTimestamp() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(26); } +}; +class ObSysVarGroupConcatMaxLen : public ObIntSysVar +{ +public: + ObSysVarGroupConcatMaxLen() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_GROUP_CONCAT_MAX_LEN; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(27); } +}; +class ObSysVarIdentity : public ObSessionSpecialIntSysVar +{ +public: + ObSysVarIdentity() : ObSessionSpecialIntSysVar(NULL, ObSysVarSessionSpecialUpdateFuncs::update_identity, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_IDENTITY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(28); } +}; +class ObSysVarLowerCaseTableNames : public ObIntSysVar +{ +public: + ObSysVarLowerCaseTableNames() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LOWER_CASE_TABLE_NAMES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(29); } +}; +class ObSysVarNetReadTimeout : public ObIntSysVar +{ +public: + ObSysVarNetReadTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NET_READ_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(30); } +}; +class ObSysVarNetWriteTimeout : public ObIntSysVar +{ +public: + ObSysVarNetWriteTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NET_WRITE_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(31); } +}; +class ObSysVarReadOnly : public ObBoolSysVar +{ +public: + ObSysVarReadOnly() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_READ_ONLY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(32); } +}; +class ObSysVarSqlAutoIsNull : public ObBoolSysVar +{ +public: + ObSysVarSqlAutoIsNull() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_AUTO_IS_NULL; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(33); } +}; +class ObSysVarSqlSelectLimit : public ObIntSysVar +{ +public: + ObSysVarSqlSelectLimit() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_SELECT_LIMIT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(34); } +}; +class ObSysVarTimestamp : public ObNumericSysVar +{ +public: + ObSysVarTimestamp() : ObNumericSysVar(ObSysVarOnCheckFuncs::check_and_convert_max_min_timestamp, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TIMESTAMP; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(35); } +}; +class ObSysVarTxReadOnly : public ObSessionSpecialBoolSysVar +{ +public: + ObSysVarTxReadOnly() : ObSessionSpecialBoolSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_read_only, ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope, ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TX_READ_ONLY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(36); } +}; +class ObSysVarVersion : public ObVarcharSysVar +{ +public: + ObSysVarVersion() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VERSION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(37); } +}; +class ObSysVarSqlWarnings : public ObBoolSysVar +{ +public: + ObSysVarSqlWarnings() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_WARNINGS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(38); } +}; +class ObSysVarMaxUserConnections : public ObIntSysVar +{ +public: + ObSysVarMaxUserConnections() : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_max_user_connections, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_MAX_USER_CONNECTIONS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(39); } +}; +class ObSysVarInitConnect : public ObVarcharSysVar +{ +public: + ObSysVarInitConnect() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_INIT_CONNECT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(40); } +}; +class ObSysVarLicense : public ObVarcharSysVar +{ +public: + ObSysVarLicense() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LICENSE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(41); } +}; +class ObSysVarNetBufferLength : public ObIntSysVar +{ +public: + ObSysVarNetBufferLength() : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_net_buffer_length, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NET_BUFFER_LENGTH; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(42); } +}; +class ObSysVarSystemTimeZone : public ObVarcharSysVar +{ +public: + ObSysVarSystemTimeZone() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SYSTEM_TIME_ZONE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(43); } +}; +class ObSysVarQueryCacheSize : public ObIntSysVar +{ +public: + ObSysVarQueryCacheSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_QUERY_CACHE_SIZE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(44); } +}; +class ObSysVarQueryCacheType : public ObEnumSysVar +{ +public: + const static char * QUERY_CACHE_TYPE_NAMES[]; +public: + ObSysVarQueryCacheType() : ObEnumSysVar(QUERY_CACHE_TYPE_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_QUERY_CACHE_TYPE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(45); } +}; +class ObSysVarSqlQuoteShowCreate : public ObBoolSysVar +{ +public: + ObSysVarSqlQuoteShowCreate() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_QUOTE_SHOW_CREATE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(46); } +}; +class ObSysVarMaxSpRecursionDepth : public ObIntSysVar +{ +public: + ObSysVarMaxSpRecursionDepth() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_MAX_SP_RECURSION_DEPTH; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(47); } +}; +class ObSysVarSqlSafeUpdates : public ObBoolSysVar +{ +public: + ObSysVarSqlSafeUpdates() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_SAFE_UPDATES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(48); } +}; +class ObSysVarConcurrentInsert : public ObVarcharSysVar +{ +public: + ObSysVarConcurrentInsert() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_CONCURRENT_INSERT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(49); } +}; +class ObSysVarDefaultAuthenticationPlugin : public ObVarcharSysVar +{ +public: + ObSysVarDefaultAuthenticationPlugin() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(50); } +}; +class ObSysVarDisabledStorageEngines : public ObVarcharSysVar +{ +public: + ObSysVarDisabledStorageEngines() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DISABLED_STORAGE_ENGINES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(51); } +}; +class ObSysVarErrorCount : public ObIntSysVar +{ +public: + ObSysVarErrorCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_ERROR_COUNT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(52); } +}; +class ObSysVarGeneralLog : public ObBoolSysVar +{ +public: + ObSysVarGeneralLog() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_GENERAL_LOG; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(53); } +}; +class ObSysVarHaveOpenssl : public ObVarcharSysVar +{ +public: + ObSysVarHaveOpenssl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_HAVE_OPENSSL; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(54); } +}; +class ObSysVarHaveProfiling : public ObVarcharSysVar +{ +public: + ObSysVarHaveProfiling() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_HAVE_PROFILING; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(55); } +}; +class ObSysVarHaveSsl : public ObVarcharSysVar +{ +public: + ObSysVarHaveSsl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_HAVE_SSL; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(56); } +}; +class ObSysVarHostname : public ObVarcharSysVar +{ +public: + ObSysVarHostname() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_HOSTNAME; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(57); } +}; +class ObSysVarLcMessages : public ObVarcharSysVar +{ +public: + ObSysVarLcMessages() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LC_MESSAGES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(58); } +}; +class ObSysVarLocalInfile : public ObBoolSysVar +{ +public: + ObSysVarLocalInfile() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LOCAL_INFILE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(59); } +}; +class ObSysVarLockWaitTimeout : public ObIntSysVar +{ +public: + ObSysVarLockWaitTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LOCK_WAIT_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(60); } +}; +class ObSysVarLongQueryTime : public ObNumericSysVar +{ +public: + ObSysVarLongQueryTime() : ObNumericSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_LONG_QUERY_TIME; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(61); } +}; +class ObSysVarMaxConnections : public ObIntSysVar +{ +public: + ObSysVarMaxConnections() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_MAX_CONNECTIONS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(62); } +}; +class ObSysVarMaxExecutionTime : public ObIntSysVar +{ +public: + ObSysVarMaxExecutionTime() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_MAX_EXECUTION_TIME; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(63); } +}; +class ObSysVarProtocolVersion : public ObIntSysVar +{ +public: + ObSysVarProtocolVersion() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PROTOCOL_VERSION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(64); } +}; +class ObSysVarServerId : public ObIntSysVar +{ +public: + ObSysVarServerId() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SERVER_ID; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(65); } +}; +class ObSysVarSslCa : public ObVarcharSysVar +{ +public: + ObSysVarSslCa() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_CA; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(66); } +}; +class ObSysVarSslCapath : public ObVarcharSysVar +{ +public: + ObSysVarSslCapath() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_CAPATH; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(67); } +}; +class ObSysVarSslCert : public ObVarcharSysVar +{ +public: + ObSysVarSslCert() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_CERT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(68); } +}; +class ObSysVarSslCipher : public ObVarcharSysVar +{ +public: + ObSysVarSslCipher() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_CIPHER; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(69); } +}; +class ObSysVarSslCrl : public ObVarcharSysVar +{ +public: + ObSysVarSslCrl() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_CRL; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(70); } +}; +class ObSysVarSslCrlpath : public ObVarcharSysVar +{ +public: + ObSysVarSslCrlpath() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_CRLPATH; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(71); } +}; +class ObSysVarSslKey : public ObVarcharSysVar +{ +public: + ObSysVarSslKey() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SSL_KEY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(72); } +}; +class ObSysVarTimeFormat : public ObVarcharSysVar +{ +public: + ObSysVarTimeFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TIME_FORMAT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(73); } +}; +class ObSysVarTlsVersion : public ObVarcharSysVar +{ +public: + ObSysVarTlsVersion() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TLS_VERSION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(74); } +}; +class ObSysVarTmpTableSize : public ObIntSysVar +{ +public: + ObSysVarTmpTableSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TMP_TABLE_SIZE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(75); } +}; +class ObSysVarTmpdir : public ObVarcharSysVar +{ +public: + ObSysVarTmpdir() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TMPDIR; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(76); } +}; +class ObSysVarUniqueChecks : public ObBoolSysVar +{ +public: + ObSysVarUniqueChecks() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_UNIQUE_CHECKS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(77); } +}; +class ObSysVarVersionCompileMachine : public ObVarcharSysVar +{ +public: + ObSysVarVersionCompileMachine() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VERSION_COMPILE_MACHINE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(78); } +}; +class ObSysVarVersionCompileOs : public ObVarcharSysVar +{ +public: + ObSysVarVersionCompileOs() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VERSION_COMPILE_OS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(79); } +}; +class ObSysVarWarningCount : public ObIntSysVar +{ +public: + ObSysVarWarningCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_WARNING_COUNT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(80); } +}; +class ObSysVarSessionTrackSchema : public ObBoolSysVar +{ +public: + ObSysVarSessionTrackSchema() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SESSION_TRACK_SCHEMA; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(81); } +}; +class ObSysVarSessionTrackSystemVariables : public ObVarcharSysVar +{ +public: + ObSysVarSessionTrackSystemVariables() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(82); } +}; +class ObSysVarSessionTrackStateChange : public ObBoolSysVar +{ +public: + ObSysVarSessionTrackStateChange() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SESSION_TRACK_STATE_CHANGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(83); } +}; +class ObSysVarObDefaultReplicaNum : public ObIntSysVar +{ +public: + ObSysVarObDefaultReplicaNum() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_DEFAULT_REPLICA_NUM; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(84); } +}; +class ObSysVarObIntermResultMemLimit : public ObIntSysVar +{ +public: + ObSysVarObIntermResultMemLimit() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(85); } +}; +class ObSysVarObProxyPartitionHit : public ObBoolSysVar +{ +public: + ObSysVarObProxyPartitionHit() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PROXY_PARTITION_HIT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(86); } +}; +class ObSysVarObLogLevel : public ObVarcharSysVar +{ +public: + ObSysVarObLogLevel() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_LOG_LEVEL; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(87); } +}; +class ObSysVarObMaxParallelDegree : public ObIntSysVar +{ +public: + ObSysVarObMaxParallelDegree() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_MAX_PARALLEL_DEGREE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(88); } +}; +class ObSysVarObQueryTimeout : public ObIntSysVar +{ +public: + ObSysVarObQueryTimeout() : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_QUERY_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(89); } +}; +class ObSysVarObReadConsistency : public ObEnumSysVar +{ +public: + const static char * OB_READ_CONSISTENCY_NAMES[]; +public: + ObSysVarObReadConsistency() : ObEnumSysVar(OB_READ_CONSISTENCY_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_READ_CONSISTENCY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(90); } +}; +class ObSysVarObEnableTransformation : public ObBoolSysVar +{ +public: + ObSysVarObEnableTransformation() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_TRANSFORMATION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(91); } +}; +class ObSysVarObTrxTimeout : public ObIntSysVar +{ +public: + ObSysVarObTrxTimeout() : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TRX_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(92); } +}; +class ObSysVarObEnablePlanCache : public ObBoolSysVar +{ +public: + ObSysVarObEnablePlanCache() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_PLAN_CACHE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(93); } +}; +class ObSysVarObEnableIndexDirectSelect : public ObBoolSysVar +{ +public: + ObSysVarObEnableIndexDirectSelect() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(94); } +}; +class ObSysVarObProxySetTrxExecuted : public ObBoolSysVar +{ +public: + ObSysVarObProxySetTrxExecuted() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PROXY_SET_TRX_EXECUTED; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(95); } +}; +class ObSysVarObEnableAggregationPushdown : public ObBoolSysVar +{ +public: + ObSysVarObEnableAggregationPushdown() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(96); } +}; +class ObSysVarObLastSchemaVersion : public ObIntSysVar +{ +public: + ObSysVarObLastSchemaVersion() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_LAST_SCHEMA_VERSION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(97); } +}; +class ObSysVarObGlobalDebugSync : public ObVarcharSysVar +{ +public: + ObSysVarObGlobalDebugSync() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_GLOBAL_DEBUG_SYNC; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(98); } +}; +class ObSysVarObProxyGlobalVariablesVersion : public ObIntSysVar +{ public: - ObSysVarObPxBcastOptimization() : ObEnumSysVar(_OB_PX_BCAST_OPTIMIZATION_NAMES, NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__OB_PX_BCAST_OPTIMIZATION; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(178); - } -}; -class ObSysVarObPxSlaveMappingThreshold : public ObIntSysVar { -public: - ObSysVarObPxSlaveMappingThreshold() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(179); - } -}; -class ObSysVarEnableParallelDml : public ObBoolSysVar { -public: - ObSysVarEnableParallelDml() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__ENABLE_PARALLEL_DML; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(180); - } -}; -class ObSysVarPxMinGranulesPerSlave : public ObIntSysVar { -public: - ObSysVarPxMinGranulesPerSlave() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__PX_MIN_GRANULES_PER_SLAVE; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(181); - } -}; -class ObSysVarSecureFilePriv : public ObVarcharSysVar { -public: - ObSysVarSecureFilePriv() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_SECURE_FILE_PRIV; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(182); - } -}; -class ObSysVarPlsqlWarnings : public ObVarcharSysVar { -public: - ObSysVarPlsqlWarnings() - : ObVarcharSysVar(ObSysVarOnCheckFuncs::check_and_convert_plsql_warnings, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_PLSQL_WARNINGS; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(183); - } -}; -class ObSysVarEnableParallelQuery : public ObBoolSysVar { -public: - ObSysVarEnableParallelQuery() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__ENABLE_PARALLEL_QUERY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(184); - } -}; -class ObSysVarForceParallelQueryDop : public ObIntSysVar { -public: - ObSysVarForceParallelQueryDop() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__FORCE_PARALLEL_QUERY_DOP; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(185); - } -}; -class ObSysVarForceParallelDmlDop : public ObIntSysVar { -public: - ObSysVarForceParallelDmlDop() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__FORCE_PARALLEL_DML_DOP; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(186); - } -}; -class ObSysVarObPlBlockTimeout : public ObIntSysVar { -public: - ObSysVarObPlBlockTimeout() - : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_OB_PL_BLOCK_TIMEOUT; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(187); - } -}; -class ObSysVarTransactionReadOnly : public ObSessionSpecialBoolSysVar { -public: - ObSysVarTransactionReadOnly() - : ObSessionSpecialBoolSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_read_only, - ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope, ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only, - NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_TRANSACTION_READ_ONLY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(188); - } -}; -class ObSysVarResourceManagerPlan : public ObVarcharSysVar { -public: - ObSysVarResourceManagerPlan() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_RESOURCE_MANAGER_PLAN; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(189); - } -}; -class ObSysVarPerformanceSchema : public ObBoolSysVar { -public: - ObSysVarPerformanceSchema() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_PERFORMANCE_SCHEMA; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(190); - } -}; -class ObSysVarNlsCurrency : public ObVarcharSysVar { -public: - ObSysVarNlsCurrency() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_CURRENCY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(191); - } -}; -class ObSysVarNlsIsoCurrency : public ObVarcharSysVar { -public: - ObSysVarNlsIsoCurrency() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_ISO_CURRENCY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(192); - } -}; -class ObSysVarNlsDualCurrency : public ObVarcharSysVar { -public: - ObSysVarNlsDualCurrency() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR_NLS_DUAL_CURRENCY; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(193); - } -}; -class ObSysVarObProxySessionTemporaryTableUsed : public ObBoolSysVar { -public: - ObSysVarObProxySessionTemporaryTableUsed() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) - {} - inline virtual ObSysVarClassType get_type() const - { - return SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED; - } - inline virtual const common::ObObj& get_global_default_value() const - { - return ObSysVariables::get_default_value(194); - } + ObSysVarObProxyGlobalVariablesVersion() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(99); } }; +class ObSysVarObEnableTraceLog : public ObBoolSysVar +{ +public: + ObSysVarObEnableTraceLog() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_TRACE_LOG; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(100); } +}; +class ObSysVarObEnableHashGroupBy : public ObBoolSysVar +{ +public: + ObSysVarObEnableHashGroupBy() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_HASH_GROUP_BY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(101); } +}; +class ObSysVarObEnableBlkNestedloopJoin : public ObBoolSysVar +{ +public: + ObSysVarObEnableBlkNestedloopJoin() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(102); } +}; +class ObSysVarObBnlJoinCacheSize : public ObIntSysVar +{ +public: + ObSysVarObBnlJoinCacheSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_BNL_JOIN_CACHE_SIZE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(103); } +}; +class ObSysVarObProxyUserPrivilege : public ObIntSysVar +{ +public: + ObSysVarObProxyUserPrivilege() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PROXY_USER_PRIVILEGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(104); } +}; +class ObSysVarObOrgClusterId : public ObStrictRangeIntSysVar +{ +public: + ObSysVarObOrgClusterId() : ObStrictRangeIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_ob_org_cluster_id, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ORG_CLUSTER_ID; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(105); } +}; +class ObSysVarObPlanCachePercentage : public ObIntSysVar +{ +public: + ObSysVarObPlanCachePercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PLAN_CACHE_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(106); } +}; +class ObSysVarObPlanCacheEvictHighPercentage : public ObIntSysVar +{ +public: + ObSysVarObPlanCacheEvictHighPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(107); } +}; +class ObSysVarObPlanCacheEvictLowPercentage : public ObIntSysVar +{ +public: + ObSysVarObPlanCacheEvictLowPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(108); } +}; +class ObSysVarRecyclebin : public ObBoolSysVar +{ +public: + ObSysVarRecyclebin() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_RECYCLEBIN; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(109); } +}; +class ObSysVarObCapabilityFlag : public ObIntSysVar +{ +public: + ObSysVarObCapabilityFlag() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_CAPABILITY_FLAG; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(110); } +}; +class ObSysVarObStmtParallelDegree : public ObIntSysVar +{ +public: + ObSysVarObStmtParallelDegree() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_STMT_PARALLEL_DEGREE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(111); } +}; +class ObSysVarIsResultAccurate : public ObBoolSysVar +{ +public: + ObSysVarIsResultAccurate() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_IS_RESULT_ACCURATE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(112); } +}; +class ObSysVarErrorOnOverlapTime : public ObBoolSysVar +{ +public: + ObSysVarErrorOnOverlapTime() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_ERROR_ON_OVERLAP_TIME; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(113); } +}; +class ObSysVarObCompatibilityMode : public ObEnumSysVar +{ +public: + const static char * OB_COMPATIBILITY_MODE_NAMES[]; +public: + ObSysVarObCompatibilityMode() : ObEnumSysVar(OB_COMPATIBILITY_MODE_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_COMPATIBILITY_MODE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(114); } +}; +class ObSysVarObCreateTableStrictMode : public ObBoolSysVar +{ +public: + ObSysVarObCreateTableStrictMode() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_CREATE_TABLE_STRICT_MODE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(115); } +}; +class ObSysVarObSqlWorkAreaPercentage : public ObIntSysVar +{ +public: + ObSysVarObSqlWorkAreaPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(116); } +}; +class ObSysVarObSafeWeakReadSnapshot : public ObIntSysVar +{ +public: + ObSysVarObSafeWeakReadSnapshot() : ObIntSysVar(NULL, ObSysVarOnUpdateFuncs::update_safe_weak_read_snapshot, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(117); } +}; +class ObSysVarObRoutePolicy : public ObEnumSysVar +{ +public: + const static char * OB_ROUTE_POLICY_NAMES[]; +public: + ObSysVarObRoutePolicy() : ObEnumSysVar(OB_ROUTE_POLICY_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ROUTE_POLICY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(118); } +}; +class ObSysVarObEnableTransmissionChecksum : public ObBoolSysVar +{ +public: + ObSysVarObEnableTransmissionChecksum() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(119); } +}; +class ObSysVarForeignKeyChecks : public ObBoolSysVar +{ +public: + ObSysVarForeignKeyChecks() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_FOREIGN_KEY_CHECKS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(120); } +}; +class ObSysVarObStatementTraceId : public ObVarcharSysVar +{ +public: + ObSysVarObStatementTraceId() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_STATEMENT_TRACE_ID; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(121); } +}; +class ObSysVarObEnableTruncateFlashback : public ObBoolSysVar +{ +public: + ObSysVarObEnableTruncateFlashback() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(122); } +}; +class ObSysVarObTcpInvitedNodes : public ObVarcharSysVar +{ +public: + ObSysVarObTcpInvitedNodes() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TCP_INVITED_NODES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(123); } +}; +class ObSysVarSqlThrottleCurrentPriority : public ObIntSysVar +{ +public: + ObSysVarSqlThrottleCurrentPriority() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(124); } +}; +class ObSysVarSqlThrottlePriority : public ObIntSysVar +{ +public: + ObSysVarSqlThrottlePriority() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_PRIORITY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(125); } +}; +class ObSysVarSqlThrottleRt : public ObNumericSysVar +{ +public: + ObSysVarSqlThrottleRt() : ObNumericSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_RT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(126); } +}; +class ObSysVarSqlThrottleCpu : public ObNumericSysVar +{ +public: + ObSysVarSqlThrottleCpu() : ObNumericSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_CPU; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(127); } +}; +class ObSysVarSqlThrottleIo : public ObIntSysVar +{ +public: + ObSysVarSqlThrottleIo() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_IO; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(128); } +}; +class ObSysVarSqlThrottleNetwork : public ObNumericSysVar +{ +public: + ObSysVarSqlThrottleNetwork() : ObNumericSysVar(ObSysVarOnCheckFuncs::check_and_convert_sql_throttle_queue_time, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_NETWORK; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(129); } +}; +class ObSysVarSqlThrottleLogicalReads : public ObIntSysVar +{ +public: + ObSysVarSqlThrottleLogicalReads() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SQL_THROTTLE_LOGICAL_READS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(130); } +}; +class ObSysVarAutoIncrementCacheSize : public ObIntSysVar +{ +public: + ObSysVarAutoIncrementCacheSize() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_AUTO_INCREMENT_CACHE_SIZE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(131); } +}; +class ObSysVarObEnableJit : public ObEnumSysVar +{ +public: + const static char * OB_ENABLE_JIT_NAMES[]; +public: + ObSysVarObEnableJit() : ObEnumSysVar(OB_ENABLE_JIT_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_JIT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(132); } +}; +class ObSysVarObTempTablespaceSizePercentage : public ObIntSysVar +{ +public: + ObSysVarObTempTablespaceSizePercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(133); } +}; +class ObSysVarOptimizerAdaptiveCursorSharing : public ObBoolSysVar +{ +public: + ObSysVarOptimizerAdaptiveCursorSharing() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(134); } +}; +class ObSysVarObTimestampService : public ObEnumSysVar +{ +public: + const static char * OB_TIMESTAMP_SERVICE_NAMES[]; +public: + ObSysVarObTimestampService() : ObEnumSysVar(OB_TIMESTAMP_SERVICE_NAMES, ObSysVarOnCheckFuncs::check_and_convert_timestamp_service, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TIMESTAMP_SERVICE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(135); } +}; +class ObSysVarPluginDir : public ObVarcharSysVar +{ +public: + ObSysVarPluginDir() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PLUGIN_DIR; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(136); } +}; +class ObSysVarUndoRetention : public ObIntSysVar +{ +public: + ObSysVarUndoRetention() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_UNDO_RETENTION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(137); } +}; +class ObSysVarObUseParallelExecution : public ObBoolSysVar +{ +public: + ObSysVarObUseParallelExecution() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__OB_USE_PARALLEL_EXECUTION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(138); } +}; +class ObSysVarObSqlAuditPercentage : public ObIntSysVar +{ +public: + ObSysVarObSqlAuditPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_SQL_AUDIT_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(139); } +}; +class ObSysVarObEnableSqlAudit : public ObBoolSysVar +{ +public: + ObSysVarObEnableSqlAudit() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_SQL_AUDIT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(140); } +}; +class ObSysVarOptimizerUseSqlPlanBaselines : public ObBoolSysVar +{ +public: + ObSysVarOptimizerUseSqlPlanBaselines() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(141); } +}; +class ObSysVarOptimizerCaptureSqlPlanBaselines : public ObBoolSysVar +{ +public: + ObSysVarOptimizerCaptureSqlPlanBaselines() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(142); } +}; +class ObSysVarParallelMaxServers : public ObIntSysVar +{ +public: + ObSysVarParallelMaxServers() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PARALLEL_MAX_SERVERS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(143); } +}; +class ObSysVarParallelServersTarget : public ObIntSysVar +{ +public: + ObSysVarParallelServersTarget() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PARALLEL_SERVERS_TARGET; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(144); } +}; +class ObSysVarObEarlyLockRelease : public ObBoolSysVar +{ +public: + ObSysVarObEarlyLockRelease() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_EARLY_LOCK_RELEASE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(145); } +}; +class ObSysVarObTrxIdleTimeout : public ObIntSysVar +{ +public: + ObSysVarObTrxIdleTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TRX_IDLE_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(146); } +}; +class ObSysVarBlockEncryptionMode : public ObEnumSysVar +{ +public: + const static char * BLOCK_ENCRYPTION_MODE_NAMES[]; +public: + ObSysVarBlockEncryptionMode() : ObEnumSysVar(BLOCK_ENCRYPTION_MODE_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_BLOCK_ENCRYPTION_MODE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(147); } +}; +class ObSysVarNlsDateFormat : public ObVarcharSysVar +{ +public: + ObSysVarNlsDateFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_DATE_FORMAT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(148); } +}; +class ObSysVarNlsTimestampFormat : public ObVarcharSysVar +{ +public: + ObSysVarNlsTimestampFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_TIMESTAMP_FORMAT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(149); } +}; +class ObSysVarNlsTimestampTzFormat : public ObVarcharSysVar +{ +public: + ObSysVarNlsTimestampTzFormat() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(150); } +}; +class ObSysVarObReservedMetaMemoryPercentage : public ObIntSysVar +{ +public: + ObSysVarObReservedMetaMemoryPercentage() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(151); } +}; +class ObSysVarObCheckSysVariable : public ObBoolSysVar +{ +public: + ObSysVarObCheckSysVariable() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_CHECK_SYS_VARIABLE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(152); } +}; +class ObSysVarNlsLanguage : public ObVarcharSysVar +{ +public: + ObSysVarNlsLanguage() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_LANGUAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(153); } +}; +class ObSysVarNlsTerritory : public ObVarcharSysVar +{ +public: + ObSysVarNlsTerritory() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_TERRITORY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(154); } +}; +class ObSysVarNlsSort : public ObVarcharSysVar +{ +public: + ObSysVarNlsSort() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_SORT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(155); } +}; +class ObSysVarNlsComp : public ObVarcharSysVar +{ +public: + ObSysVarNlsComp() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_COMP; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(156); } +}; +class ObSysVarNlsCharacterset : public ObVarcharSysVar +{ +public: + ObSysVarNlsCharacterset() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_CHARACTERSET; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(157); } +}; +class ObSysVarNlsNcharCharacterset : public ObVarcharSysVar +{ +public: + ObSysVarNlsNcharCharacterset() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_NCHAR_CHARACTERSET; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(158); } +}; +class ObSysVarNlsDateLanguage : public ObVarcharSysVar +{ +public: + ObSysVarNlsDateLanguage() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_DATE_LANGUAGE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(159); } +}; +class ObSysVarNlsLengthSemantics : public ObVarcharSysVar +{ +public: + ObSysVarNlsLengthSemantics() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_LENGTH_SEMANTICS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(160); } +}; +class ObSysVarNlsNcharConvExcp : public ObVarcharSysVar +{ +public: + ObSysVarNlsNcharConvExcp() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_NCHAR_CONV_EXCP; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(161); } +}; +class ObSysVarNlsCalendar : public ObVarcharSysVar +{ +public: + ObSysVarNlsCalendar() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_CALENDAR; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(162); } +}; +class ObSysVarNlsNumericCharacters : public ObVarcharSysVar +{ +public: + ObSysVarNlsNumericCharacters() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_NUMERIC_CHARACTERS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(163); } +}; +class ObSysVarNljBatchingEnabled : public ObBoolSysVar +{ +public: + ObSysVarNljBatchingEnabled() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__NLJ_BATCHING_ENABLED; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(164); } +}; +class ObSysVarTracefileIdentifier : public ObVarcharSysVar +{ +public: + ObSysVarTracefileIdentifier() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TRACEFILE_IDENTIFIER; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(165); } +}; +class ObSysVarGroupbyNopushdownCutRatio : public ObIntSysVar +{ +public: + ObSysVarGroupbyNopushdownCutRatio() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(166); } +}; +class ObSysVarPxBroadcastFudgeFactor : public ObIntSysVar +{ +public: + ObSysVarPxBroadcastFudgeFactor() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__PX_BROADCAST_FUDGE_FACTOR; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(167); } +}; +class ObSysVarPrimaryZoneEntityCount : public ObIntSysVar +{ +public: + ObSysVarPrimaryZoneEntityCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(168); } +}; +class ObSysVarTransactionIsolation : public ObSessionSpecialVarcharSysVar +{ +public: + ObSysVarTransactionIsolation() : ObSessionSpecialVarcharSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_isolation, ObSysVarOnUpdateFuncs::update_tx_isolation, ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TRANSACTION_ISOLATION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(169); } +}; +class ObSysVarObTrxLockTimeout : public ObIntSysVar +{ +public: + ObSysVarObTrxLockTimeout() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TRX_LOCK_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(170); } +}; +class ObSysVarValidatePasswordCheckUserName : public ObEnumSysVar +{ +public: + const static char * VALIDATE_PASSWORD_CHECK_USER_NAME_NAMES[]; +public: + ObSysVarValidatePasswordCheckUserName() : ObEnumSysVar(VALIDATE_PASSWORD_CHECK_USER_NAME_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(171); } +}; +class ObSysVarValidatePasswordLength : public ObIntSysVar +{ +public: + ObSysVarValidatePasswordLength() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VALIDATE_PASSWORD_LENGTH; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(172); } +}; +class ObSysVarValidatePasswordMixedCaseCount : public ObIntSysVar +{ +public: + ObSysVarValidatePasswordMixedCaseCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(173); } +}; +class ObSysVarValidatePasswordNumberCount : public ObIntSysVar +{ +public: + ObSysVarValidatePasswordNumberCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(174); } +}; +class ObSysVarValidatePasswordPolicy : public ObEnumSysVar +{ +public: + const static char * VALIDATE_PASSWORD_POLICY_NAMES[]; +public: + ObSysVarValidatePasswordPolicy() : ObEnumSysVar(VALIDATE_PASSWORD_POLICY_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VALIDATE_PASSWORD_POLICY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(175); } +}; +class ObSysVarValidatePasswordSpecialCharCount : public ObIntSysVar +{ +public: + ObSysVarValidatePasswordSpecialCharCount() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(176); } +}; +class ObSysVarDefaultPasswordLifetime : public ObIntSysVar +{ +public: + ObSysVarDefaultPasswordLifetime() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_DEFAULT_PASSWORD_LIFETIME; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(177); } +}; +class ObSysVarObTraceInfo : public ObVarcharSysVar +{ +public: + ObSysVarObTraceInfo() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_TRACE_INFO; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(178); } +}; +class ObSysVarObEnableBatchedMultiStatement : public ObBoolSysVar +{ +public: + ObSysVarObEnableBatchedMultiStatement() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(179); } +}; +class ObSysVarPxPartitionScanThreshold : public ObIntSysVar +{ +public: + ObSysVarPxPartitionScanThreshold() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__PX_PARTITION_SCAN_THRESHOLD; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(180); } +}; +class ObSysVarObPxBcastOptimization : public ObEnumSysVar +{ +public: + const static char * _OB_PX_BCAST_OPTIMIZATION_NAMES[]; +public: + ObSysVarObPxBcastOptimization() : ObEnumSysVar(_OB_PX_BCAST_OPTIMIZATION_NAMES, NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__OB_PX_BCAST_OPTIMIZATION; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(181); } +}; +class ObSysVarObPxSlaveMappingThreshold : public ObIntSysVar +{ +public: + ObSysVarObPxSlaveMappingThreshold() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(182); } +}; +class ObSysVarEnableParallelDml : public ObBoolSysVar +{ +public: + ObSysVarEnableParallelDml() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__ENABLE_PARALLEL_DML; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(183); } +}; +class ObSysVarPxMinGranulesPerSlave : public ObIntSysVar +{ +public: + ObSysVarPxMinGranulesPerSlave() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__PX_MIN_GRANULES_PER_SLAVE; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(184); } +}; +class ObSysVarSecureFilePriv : public ObVarcharSysVar +{ +public: + ObSysVarSecureFilePriv() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_SECURE_FILE_PRIV; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(185); } +}; +class ObSysVarPlsqlWarnings : public ObVarcharSysVar +{ +public: + ObSysVarPlsqlWarnings() : ObVarcharSysVar(ObSysVarOnCheckFuncs::check_and_convert_plsql_warnings, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PLSQL_WARNINGS; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(186); } +}; +class ObSysVarEnableParallelQuery : public ObBoolSysVar +{ +public: + ObSysVarEnableParallelQuery() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__ENABLE_PARALLEL_QUERY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(187); } +}; +class ObSysVarForceParallelQueryDop : public ObIntSysVar +{ +public: + ObSysVarForceParallelQueryDop() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__FORCE_PARALLEL_QUERY_DOP; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(188); } +}; +class ObSysVarForceParallelDmlDop : public ObIntSysVar +{ +public: + ObSysVarForceParallelDmlDop() : ObIntSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__FORCE_PARALLEL_DML_DOP; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(189); } +}; +class ObSysVarObPlBlockTimeout : public ObIntSysVar +{ +public: + ObSysVarObPlBlockTimeout() : ObIntSysVar(ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_OB_PL_BLOCK_TIMEOUT; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(190); } +}; +class ObSysVarTransactionReadOnly : public ObSessionSpecialBoolSysVar +{ +public: + ObSysVarTransactionReadOnly() : ObSessionSpecialBoolSysVar(ObSysVarOnCheckFuncs::check_and_convert_tx_read_only, ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope, ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_TRANSACTION_READ_ONLY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(191); } +}; +class ObSysVarResourceManagerPlan : public ObVarcharSysVar +{ +public: + ObSysVarResourceManagerPlan() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_RESOURCE_MANAGER_PLAN; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(192); } +}; +class ObSysVarPerformanceSchema : public ObBoolSysVar +{ +public: + ObSysVarPerformanceSchema() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_PERFORMANCE_SCHEMA; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(193); } +}; +class ObSysVarNlsCurrency : public ObVarcharSysVar +{ +public: + ObSysVarNlsCurrency() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_CURRENCY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(194); } +}; +class ObSysVarNlsIsoCurrency : public ObVarcharSysVar +{ +public: + ObSysVarNlsIsoCurrency() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_ISO_CURRENCY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(195); } +}; +class ObSysVarNlsDualCurrency : public ObVarcharSysVar +{ +public: + ObSysVarNlsDualCurrency() : ObVarcharSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR_NLS_DUAL_CURRENCY; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(196); } +}; +class ObSysVarObProxySessionTemporaryTableUsed : public ObBoolSysVar +{ +public: + ObSysVarObProxySessionTemporaryTableUsed() : ObBoolSysVar(NULL, NULL, NULL, NULL, NULL) {} + inline virtual ObSysVarClassType get_type() const { return SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED; } + inline virtual const common::ObObj &get_global_default_value() const { return ObSysVariables::get_default_value(197); } +}; + -class ObSysVarFactory { +class ObSysVarFactory +{ public: ObSysVarFactory(); virtual ~ObSysVarFactory(); void destroy(); - int create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar*& sys_var); - int free_sys_var(ObBasicSysVar* sys_var, int64_t sys_var_idx); - static int calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_t& store_idx); - static int calc_sys_var_store_idx_by_name(const common::ObString& sys_var_name, int64_t& store_idx); + int create_sys_var(ObSysVarClassType sys_var_id, ObBasicSysVar *&sys_var); + int create_all_sys_vars(); + int free_sys_var(ObBasicSysVar *sys_var, int64_t sys_var_idx); + static int calc_sys_var_store_idx(ObSysVarClassType sys_var_id, int64_t &store_idx); + static int calc_sys_var_store_idx_by_name(const common::ObString &sys_var_name, int64_t &store_idx); static bool is_valid_sys_var_store_idx(int64_t store_idx); - static ObSysVarClassType find_sys_var_id_by_name( - const common::ObString& sys_var_name, bool is_from_sys_table = false); - static int get_sys_var_name_by_id(ObSysVarClassType sys_var_id, common::ObString& sys_var_name); + static ObSysVarClassType find_sys_var_id_by_name(const common::ObString &sys_var_name, bool is_from_sys_table = false); //二分查找 + static int get_sys_var_name_by_id(ObSysVarClassType sys_var_id, common::ObString &sys_var_name); static const common::ObString get_sys_var_name_by_id(ObSysVarClassType sys_var_id); - const static int64_t MYSQL_SYS_VARS_COUNT = 81; + const static int64_t MYSQL_SYS_VARS_COUNT = 84; const static int64_t OB_SYS_VARS_COUNT = 114; const static int64_t ALL_SYS_VARS_COUNT = MYSQL_SYS_VARS_COUNT + OB_SYS_VARS_COUNT; const static int16_t OB_SPECIFIC_SYS_VAR_ID_OFFSET = 10000; - // increase OB_MAX_SYS_VAR_ID if you need a sys_var_id greater than it. + // 表示当前OB能够使用的sys var id的最大值,正常情况下,不需要申请大于OB_MAX_SYS_VAR_ID的sys var id, + // 如果需要申请大于OB_MAX_SYS_VAR_ID的sys var id,需要先调整ob_max_sys_var_id的值 const static int32_t OB_MAX_SYS_VAR_ID = 20000; private: - static bool sys_var_name_case_cmp(const char* name1, const common::ObString& name2); - const static char* SYS_VAR_NAMES_SORTED_BY_NAME[ALL_SYS_VARS_COUNT]; + static bool sys_var_name_case_cmp(const char *name1, const common::ObString &name2); + const static char *SYS_VAR_NAMES_SORTED_BY_NAME[ALL_SYS_VARS_COUNT]; const static ObSysVarClassType SYS_VAR_IDS_SORTED_BY_NAME[ALL_SYS_VARS_COUNT]; - const static char* SYS_VAR_NAMES_SORTED_BY_ID[ALL_SYS_VARS_COUNT]; + const static char *SYS_VAR_NAMES_SORTED_BY_ID[ALL_SYS_VARS_COUNT]; common::ObArenaAllocator allocator_; - ObBasicSysVar* store_[ALL_SYS_VARS_COUNT]; - ObBasicSysVar* store_buf_[ALL_SYS_VARS_COUNT]; + ObBasicSysVar *store_[ALL_SYS_VARS_COUNT]; + ObBasicSysVar *store_buf_[ALL_SYS_VARS_COUNT]; + bool all_sys_vars_created_; }; -} // namespace share -} // namespace oceanbase -#endif // OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_FACTORY_ +} +} +#endif //OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_FACTORY_ diff --git a/src/share/system_variable/ob_system_variable_init.cpp b/src/share/system_variable/ob_system_variable_init.cpp index c80af9eb490fe03590a181abba58adfee8fecece..b1e1bf291a483e216ae5c2e0d7b3b232d8f9bbe8 100644 --- a/src/share/system_variable/ob_system_variable_init.cpp +++ b/src/share/system_variable/ob_system_variable_init.cpp @@ -18,2356 +18,2237 @@ #include "common/expression/ob_expr_string_buf.h" using namespace oceanbase::common; -namespace oceanbase { -namespace share { +namespace oceanbase +{ +namespace share +{ static ObSysVarFromJson ObSysVars[ObSysVarFactory::ALL_SYS_VARS_COUNT]; static ObObj ObSysVarDefaultValues[ObSysVarFactory::ALL_SYS_VARS_COUNT]; static ObArenaAllocator ObSysVarAllocator(ObModIds::OB_COMMON_SYS_VAR_DEFAULT_VALUE); static int64_t ObSysVarsIdToArrayIdx[ObSysVarFactory::OB_MAX_SYS_VAR_ID]; +// VarsInit中需要判断当前最大的SysVars对应的id,是否大于OB_MAX_SYS_VAR_ID +// 如果大于OB_MAX_SYS_VAR_ID表示存在无效的SysVarsId static bool HasInvalidSysVar = false; -static struct VarsInit { - VarsInit() - { +static struct VarsInit{ + VarsInit(){ + // 保存当前系统变量的最大的id int64_t cur_max_var_id = 0; - // default value of ObSysVarsIdToArrayIdx is -1, means invalid index. + // ObSysVarsIdToArrayIdx数组默认初始值为-1,-1表示无效索引 memset(ObSysVarsIdToArrayIdx, -1, sizeof(ObSysVarsIdToArrayIdx)); - ObSysVars[0].info_ = ""; - ObSysVars[0].name_ = "auto_increment_increment"; - ObSysVars[0].data_type_ = ObUInt64Type; - ObSysVars[0].value_ = "1"; - ObSysVars[0].min_val_ = "1"; - ObSysVars[0].max_val_ = "65535"; - ObSysVars[0].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[0].id_ = SYS_VAR_AUTO_INCREMENT_INCREMENT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTO_INCREMENT_INCREMENT)); - ObSysVarsIdToArrayIdx[SYS_VAR_AUTO_INCREMENT_INCREMENT] = 0; - ObSysVars[0].alias_ = "OB_SV_AUTO_INCREMENT_INCREMENT"; - - ObSysVars[1].info_ = ""; - ObSysVars[1].name_ = "auto_increment_offset"; - ObSysVars[1].data_type_ = ObUInt64Type; - ObSysVars[1].value_ = "1"; - ObSysVars[1].min_val_ = "1"; - ObSysVars[1].max_val_ = "65535"; - ObSysVars[1].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[1].id_ = SYS_VAR_AUTO_INCREMENT_OFFSET; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTO_INCREMENT_OFFSET)); - ObSysVarsIdToArrayIdx[SYS_VAR_AUTO_INCREMENT_OFFSET] = 1; - ObSysVars[1].alias_ = "OB_SV_AUTO_INCREMENT_OFFSET"; - - ObSysVars[2].info_ = ""; - ObSysVars[2].name_ = "autocommit"; - ObSysVars[2].data_type_ = ObIntType; - ObSysVars[2].value_ = "1"; - ObSysVars[2].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[2].id_ = SYS_VAR_AUTOCOMMIT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTOCOMMIT)); - ObSysVarsIdToArrayIdx[SYS_VAR_AUTOCOMMIT] = 2; - ObSysVars[2].alias_ = "OB_SV_AUTOCOMMIT"; - - ObSysVars[3].info_ = "The character set in which statements are sent by the client"; - ObSysVars[3].base_class_ = "ObCharsetSysVar"; - ObSysVars[3].name_ = "character_set_client"; - ObSysVars[3].data_type_ = ObIntType; - ObSysVars[3].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[3].value_ = "45"; - ObSysVars[3].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[3].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[3].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null"; - ObSysVars[3].id_ = SYS_VAR_CHARACTER_SET_CLIENT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_CLIENT)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_CLIENT] = 3; - ObSysVars[3].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[3].alias_ = "OB_SV_CHARACTER_SET_CLIENT"; - - ObSysVars[4].info_ = "The character set which should be translated to after receiving the statement"; - ObSysVars[4].base_class_ = "ObCharsetSysVar"; - ObSysVars[4].name_ = "character_set_connection"; - ObSysVars[4].data_type_ = ObIntType; - ObSysVars[4].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[4].value_ = "45"; - ObSysVars[4].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::NULLABLE; - ObSysVars[4].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[4].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null"; - ObSysVars[4].id_ = SYS_VAR_CHARACTER_SET_CONNECTION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_CONNECTION)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_CONNECTION] = 4; - ObSysVars[4].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[4].alias_ = "OB_SV_CHARACTER_SET_CONNECTION"; - - ObSysVars[5].info_ = "The character set of the default database"; - ObSysVars[5].base_class_ = "ObCharsetSysVar"; - ObSysVars[5].name_ = "character_set_database"; - ObSysVars[5].data_type_ = ObIntType; - ObSysVars[5].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[5].value_ = "45"; - ObSysVars[5].flags_ = - ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[5].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[5].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null"; - ObSysVars[5].id_ = SYS_VAR_CHARACTER_SET_DATABASE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_DATABASE)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_DATABASE] = 5; - ObSysVars[5].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[5].alias_ = "OB_SV_CHARACTER_SET_DATABASE"; - - ObSysVars[6].info_ = "The character set which server should translate to before shipping result sets or error " - "message back to the client"; - ObSysVars[6].base_class_ = "ObCharsetSysVar"; - ObSysVars[6].name_ = "character_set_results"; - ObSysVars[6].data_type_ = ObIntType; - ObSysVars[6].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[6].value_ = "45"; - ObSysVars[6].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE; - ObSysVars[6].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[6].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset"; - ObSysVars[6].id_ = SYS_VAR_CHARACTER_SET_RESULTS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_RESULTS)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_RESULTS] = 6; - ObSysVars[6].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[6].alias_ = "OB_SV_CHARACTER_SET_RESULTS"; - - ObSysVars[7].info_ = "The server character set"; - ObSysVars[7].base_class_ = "ObCharsetSysVar"; - ObSysVars[7].name_ = "character_set_server"; - ObSysVars[7].data_type_ = ObIntType; - ObSysVars[7].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[7].value_ = "45"; - ObSysVars[7].flags_ = - ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[7].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[7].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null"; - ObSysVars[7].id_ = SYS_VAR_CHARACTER_SET_SERVER; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_SERVER)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_SERVER] = 7; - ObSysVars[7].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[7].alias_ = "OB_SV_CHARACTER_SET_SERVER"; - - ObSysVars[8].info_ = "The character set used by the server for storing identifiers."; - ObSysVars[8].base_class_ = "ObCharsetSysVar"; - ObSysVars[8].name_ = "character_set_system"; - ObSysVars[8].data_type_ = ObIntType; - ObSysVars[8].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[8].value_ = "45"; - ObSysVars[8].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::READONLY; - ObSysVars[8].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[8].id_ = SYS_VAR_CHARACTER_SET_SYSTEM; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_SYSTEM)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_SYSTEM] = 8; - ObSysVars[8].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[8].alias_ = "OB_SV_CHARACTER_SET_SYSTEM"; - - ObSysVars[9].info_ = "The collation which the server should translate to after receiving the statement"; - ObSysVars[9].base_class_ = "ObCharsetSysVar"; - ObSysVars[9].name_ = "collation_connection"; - ObSysVars[9].data_type_ = ObIntType; - ObSysVars[9].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_collation"; - ObSysVars[9].value_ = "45"; - ObSysVars[9].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | - ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[9].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_collation"; - ObSysVars[9].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_collation_not_null"; - ObSysVars[9].id_ = SYS_VAR_COLLATION_CONNECTION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_COLLATION_CONNECTION)); - ObSysVarsIdToArrayIdx[SYS_VAR_COLLATION_CONNECTION] = 9; - ObSysVars[9].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[9].alias_ = "OB_SV_COLLATION_CONNECTION"; - - ObSysVars[10].info_ = "The collation of the default database"; - ObSysVars[10].base_class_ = "ObCharsetSysVar"; - ObSysVars[10].name_ = "collation_database"; - ObSysVars[10].data_type_ = ObIntType; - ObSysVars[10].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_collation"; - ObSysVars[10].value_ = "45"; - ObSysVars[10].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | - ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[10].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_collation"; - ObSysVars[10].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_collation_not_null"; - ObSysVars[10].id_ = SYS_VAR_COLLATION_DATABASE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_COLLATION_DATABASE)); - ObSysVarsIdToArrayIdx[SYS_VAR_COLLATION_DATABASE] = 10; - ObSysVars[10].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[10].alias_ = "OB_SV_COLLATION_DATABASE"; - - ObSysVars[11].info_ = "The server collation"; - ObSysVars[11].base_class_ = "ObCharsetSysVar"; - ObSysVars[11].name_ = "collation_server"; - ObSysVars[11].data_type_ = ObIntType; - ObSysVars[11].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_collation"; - ObSysVars[11].value_ = "45"; - ObSysVars[11].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | - ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[11].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_collation"; - ObSysVars[11].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_collation_not_null"; - ObSysVars[11].id_ = SYS_VAR_COLLATION_SERVER; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_COLLATION_SERVER)); - ObSysVarsIdToArrayIdx[SYS_VAR_COLLATION_SERVER] = 11; - ObSysVars[11].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[11].alias_ = "OB_SV_COLLATION_SERVER"; - - ObSysVars[12].info_ = - "The number of seconds the server waits for activity on an interactive connection before closing it."; - ObSysVars[12].name_ = "interactive_timeout"; - ObSysVars[12].data_type_ = ObIntType; - ObSysVars[12].value_ = "28800"; - ObSysVars[12].min_val_ = "1"; - ObSysVars[12].max_val_ = "31536000"; - ObSysVars[12].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[12].id_ = SYS_VAR_INTERACTIVE_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_INTERACTIVE_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_INTERACTIVE_TIMEOUT] = 12; - ObSysVars[12].alias_ = "OB_SV_INTERACTIVE_TIMEOUT"; - - ObSysVars[13].info_ = ""; - ObSysVars[13].base_class_ = "ObSessionSpecialIntSysVar"; - ObSysVars[13].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_last_insert_id"; - ObSysVars[13].name_ = "last_insert_id"; - ObSysVars[13].data_type_ = ObUInt64Type; - ObSysVars[13].value_ = "0"; - ObSysVars[13].min_val_ = "0"; - ObSysVars[13].max_val_ = "18446744073709551615"; - ObSysVars[13].flags_ = ObSysVarFlag::SESSION_SCOPE; - ObSysVars[13].id_ = SYS_VAR_LAST_INSERT_ID; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LAST_INSERT_ID)); - ObSysVarsIdToArrayIdx[SYS_VAR_LAST_INSERT_ID] = 13; - ObSysVars[13].alias_ = "OB_SV_LAST_INSERT_ID"; - - ObSysVars[14].info_ = "Max packet length to send to or receive from the server"; - ObSysVars[14].name_ = "max_allowed_packet"; - ObSysVars[14].data_type_ = ObIntType; - ObSysVars[14].value_ = "4194304"; - ObSysVars[14].min_val_ = "1024"; - ObSysVars[14].max_val_ = "1073741824"; - ObSysVars[14].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::SESSION_READONLY | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[14].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_max_allowed_packet"; - ObSysVars[14].id_ = SYS_VAR_MAX_ALLOWED_PACKET; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_ALLOWED_PACKET)); - ObSysVarsIdToArrayIdx[SYS_VAR_MAX_ALLOWED_PACKET] = 14; - ObSysVars[14].alias_ = "OB_SV_MAX_ALLOWED_PACKET"; - - ObSysVars[15].on_update_func_ = "ObSysVarOnUpdateFuncs::update_sql_mode"; - ObSysVars[15].info_ = ""; - ObSysVars[15].name_ = "sql_mode"; - ObSysVars[15].data_type_ = ObUInt64Type; - ObSysVars[15].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_sql_mode"; - ObSysVars[15].value_ = "4194304"; - ObSysVars[15].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[15].base_class_ = "ObSqlModeVar"; - ObSysVars[15].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_sql_mode"; - ObSysVars[15].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_sql_mode"; - ObSysVars[15].id_ = SYS_VAR_SQL_MODE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_MODE)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_MODE] = 15; - ObSysVars[15].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[15].alias_ = "OB_SV_SQL_MODE"; - - ObSysVars[16].info_ = ""; - ObSysVars[16].base_class_ = "ObTimeZoneSysVar"; - ObSysVars[16].name_ = "time_zone"; - ObSysVars[16].data_type_ = ObVarcharType; - ObSysVars[16].value_ = "+8:00"; - ObSysVars[16].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[16].id_ = SYS_VAR_TIME_ZONE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TIME_ZONE)); - ObSysVarsIdToArrayIdx[SYS_VAR_TIME_ZONE] = 16; - ObSysVars[16].alias_ = "OB_SV_TIME_ZONE"; - - ObSysVars[17].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_isolation"; - ObSysVars[17].info_ = "Transaction Isolcation Levels: READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE"; - ObSysVars[17].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation"; - ObSysVars[17].data_type_ = ObVarcharType; - ObSysVars[17].value_ = "READ-COMMITTED"; - ObSysVars[17].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[17].base_class_ = "ObSessionSpecialVarcharSysVar"; - ObSysVars[17].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_isolation"; - ObSysVars[17].id_ = SYS_VAR_TX_ISOLATION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TX_ISOLATION)); - ObSysVarsIdToArrayIdx[SYS_VAR_TX_ISOLATION] = 17; - ObSysVars[17].name_ = "tx_isolation"; - ObSysVars[17].alias_ = "OB_SV_TX_ISOLATION"; - - ObSysVars[18].info_ = ""; - ObSysVars[18].name_ = "version_comment"; - ObSysVars[18].data_type_ = ObVarcharType; - ObSysVars[18].value_ = "OceanBase 1.0.0"; - ObSysVars[18].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[18].id_ = SYS_VAR_VERSION_COMMENT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION_COMMENT)); - ObSysVarsIdToArrayIdx[SYS_VAR_VERSION_COMMENT] = 18; - ObSysVars[18].alias_ = "OB_SV_VERSION_COMMENT"; - - ObSysVars[19].info_ = - "The number of seconds the server waits for activity on a noninteractive connection before closing it."; - ObSysVars[19].name_ = "wait_timeout"; - ObSysVars[19].data_type_ = ObIntType; - ObSysVars[19].value_ = "28800"; - ObSysVars[19].min_val_ = "1"; - ObSysVars[19].max_val_ = "31536000"; - ObSysVars[19].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[19].id_ = SYS_VAR_WAIT_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_WAIT_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_WAIT_TIMEOUT] = 19; - ObSysVars[19].alias_ = "OB_SV_WAIT_TIMEOUT"; - - ObSysVars[20].info_ = "control row cells to logged"; - ObSysVars[20].name_ = "binlog_row_image"; - ObSysVars[20].data_type_ = ObIntType; - ObSysVars[20].enum_names_ = "[u'MINIMAL', u'NOBLOB', u'FULL']"; - ObSysVars[20].value_ = "2"; - ObSysVars[20].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[20].id_ = SYS_VAR_BINLOG_ROW_IMAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_BINLOG_ROW_IMAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_BINLOG_ROW_IMAGE] = 20; - ObSysVars[20].alias_ = "OB_SV_BINLOG_ROW_IMAGE"; - - ObSysVars[21].info_ = ""; - ObSysVars[21].base_class_ = "ObCharsetSysVar"; - ObSysVars[21].name_ = "character_set_filesystem"; - ObSysVars[21].data_type_ = ObIntType; - ObSysVars[21].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset"; - ObSysVars[21].value_ = "63"; - ObSysVars[21].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE; - ObSysVars[21].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset"; - ObSysVars[21].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null"; - ObSysVars[21].id_ = SYS_VAR_CHARACTER_SET_FILESYSTEM; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_FILESYSTEM)); - ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_FILESYSTEM] = 21; - ObSysVars[21].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar"; - ObSysVars[21].alias_ = "OB_SV_CHARACTER_SET_FILESYSTEM"; - - ObSysVars[22].info_ = ""; - ObSysVars[22].name_ = "connect_timeout"; - ObSysVars[22].data_type_ = ObIntType; - ObSysVars[22].value_ = "10"; - ObSysVars[22].min_val_ = "2"; - ObSysVars[22].max_val_ = "31536000"; - ObSysVars[22].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[22].id_ = SYS_VAR_CONNECT_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CONNECT_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_CONNECT_TIMEOUT] = 22; - ObSysVars[22].alias_ = "OB_SV_CONNECT_TIMEOUT"; - - ObSysVars[23].info_ = ""; - ObSysVars[23].name_ = "datadir"; - ObSysVars[23].data_type_ = ObVarcharType; - ObSysVars[23].value_ = "/usr/local/mysql/data/"; - ObSysVars[23].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[23].id_ = SYS_VAR_DATADIR; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DATADIR)); - ObSysVarsIdToArrayIdx[SYS_VAR_DATADIR] = 23; - ObSysVars[23].alias_ = "OB_SV_DATADIR"; - - ObSysVars[24].info_ = "Debug sync facility"; - ObSysVars[24].name_ = "debug_sync"; - ObSysVars[24].data_type_ = ObVarcharType; - ObSysVars[24].value_ = ""; - ObSysVars[24].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[24].id_ = SYS_VAR_DEBUG_SYNC; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DEBUG_SYNC)); - ObSysVarsIdToArrayIdx[SYS_VAR_DEBUG_SYNC] = 24; - ObSysVars[24].alias_ = "OB_SV_DEBUG_SYNC"; - - ObSysVars[25].info_ = ""; - ObSysVars[25].name_ = "div_precision_increment"; - ObSysVars[25].data_type_ = ObIntType; - ObSysVars[25].value_ = "4"; - ObSysVars[25].min_val_ = "0"; - ObSysVars[25].max_val_ = "30"; - ObSysVars[25].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[25].id_ = SYS_VAR_DIV_PRECISION_INCREMENT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DIV_PRECISION_INCREMENT)); - ObSysVarsIdToArrayIdx[SYS_VAR_DIV_PRECISION_INCREMENT] = 25; - ObSysVars[25].alias_ = "OB_SV_DIV_PRECISION_INCREMENT"; - - ObSysVars[26].info_ = "whether use traditional mode for timestamp"; - ObSysVars[26].name_ = "explicit_defaults_for_timestamp"; - ObSysVars[26].data_type_ = ObIntType; - ObSysVars[26].value_ = "1"; - ObSysVars[26].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[26].id_ = SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP)); - ObSysVarsIdToArrayIdx[SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP] = 26; - ObSysVars[26].alias_ = "OB_SV_EXPLICIT_DEFAULTS_FOR_TIMESTAMP"; - - ObSysVars[27].info_ = ""; - ObSysVars[27].name_ = "group_concat_max_len"; - ObSysVars[27].data_type_ = ObUInt64Type; - ObSysVars[27].value_ = "1024"; - ObSysVars[27].min_val_ = "4"; - ObSysVars[27].max_val_ = "18446744073709551615"; - ObSysVars[27].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[27].id_ = SYS_VAR_GROUP_CONCAT_MAX_LEN; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_GROUP_CONCAT_MAX_LEN)); - ObSysVarsIdToArrayIdx[SYS_VAR_GROUP_CONCAT_MAX_LEN] = 27; - ObSysVars[27].alias_ = "OB_SV_GROUP_CONCAT_MAX_LEN"; - - ObSysVars[28].info_ = ""; - ObSysVars[28].base_class_ = "ObSessionSpecialIntSysVar"; - ObSysVars[28].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_identity"; - ObSysVars[28].name_ = "identity"; - ObSysVars[28].data_type_ = ObUInt64Type; - ObSysVars[28].value_ = "0"; - ObSysVars[28].min_val_ = "0"; - ObSysVars[28].max_val_ = "18446744073709551615"; - ObSysVars[28].flags_ = ObSysVarFlag::SESSION_SCOPE; - ObSysVars[28].id_ = SYS_VAR_IDENTITY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_IDENTITY)); - ObSysVarsIdToArrayIdx[SYS_VAR_IDENTITY] = 28; - ObSysVars[28].alias_ = "OB_SV_IDENTITY"; - - ObSysVars[29].info_ = - "how table database names are stored and compared, 0 means stored using the lettercase in the CREATE_TABLE or " - "CREATE_DATABASE statement. Name comparisons are case sensitive; 1 means that table and database names are " - "stored in lowercase abd name comparisons are not case sensitive."; - ObSysVars[29].name_ = "lower_case_table_names"; - ObSysVars[29].data_type_ = ObIntType; - ObSysVars[29].value_ = "1"; - ObSysVars[29].min_val_ = "0"; - ObSysVars[29].max_val_ = "2"; - ObSysVars[29].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[29].id_ = SYS_VAR_LOWER_CASE_TABLE_NAMES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LOWER_CASE_TABLE_NAMES)); - ObSysVarsIdToArrayIdx[SYS_VAR_LOWER_CASE_TABLE_NAMES] = 29; - ObSysVars[29].alias_ = "OB_SV_LOWER_CASE_TABLE_NAMES"; - - ObSysVars[30].info_ = ""; - ObSysVars[30].name_ = "net_read_timeout"; - ObSysVars[30].data_type_ = ObIntType; - ObSysVars[30].value_ = "30"; - ObSysVars[30].min_val_ = "1"; - ObSysVars[30].max_val_ = "31536000"; - ObSysVars[30].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[30].id_ = SYS_VAR_NET_READ_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NET_READ_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_NET_READ_TIMEOUT] = 30; - ObSysVars[30].alias_ = "OB_SV_NET_READ_TIMEOUT"; - - ObSysVars[31].info_ = ""; - ObSysVars[31].name_ = "net_write_timeout"; - ObSysVars[31].data_type_ = ObIntType; - ObSysVars[31].value_ = "60"; - ObSysVars[31].min_val_ = "1"; - ObSysVars[31].max_val_ = "31536000"; - ObSysVars[31].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[31].id_ = SYS_VAR_NET_WRITE_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NET_WRITE_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_NET_WRITE_TIMEOUT] = 31; - ObSysVars[31].alias_ = "OB_SV_NET_WRITE_TIMEOUT"; - - ObSysVars[32].info_ = ""; - ObSysVars[32].name_ = "read_only"; - ObSysVars[32].data_type_ = ObIntType; - ObSysVars[32].value_ = "0"; - ObSysVars[32].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[32].id_ = SYS_VAR_READ_ONLY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_READ_ONLY)); - ObSysVarsIdToArrayIdx[SYS_VAR_READ_ONLY] = 32; - ObSysVars[32].alias_ = "OB_SV_READ_ONLY"; - - ObSysVars[33].info_ = ""; - ObSysVars[33].name_ = "sql_auto_is_null"; - ObSysVars[33].data_type_ = ObIntType; - ObSysVars[33].value_ = "0"; - ObSysVars[33].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[33].id_ = SYS_VAR_SQL_AUTO_IS_NULL; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_AUTO_IS_NULL)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_AUTO_IS_NULL] = 33; - ObSysVars[33].alias_ = "OB_SV_SQL_AUTO_IS_NULL"; - - ObSysVars[34].info_ = ""; - ObSysVars[34].name_ = "sql_select_limit"; - ObSysVars[34].data_type_ = ObIntType; - ObSysVars[34].value_ = "9223372036854775807"; - ObSysVars[34].min_val_ = "0"; - ObSysVars[34].max_val_ = "9223372036854775807"; - ObSysVars[34].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[34].id_ = SYS_VAR_SQL_SELECT_LIMIT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_SELECT_LIMIT)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_SELECT_LIMIT] = 34; - ObSysVars[34].alias_ = "OB_SV_SQL_SELECT_LIMIT"; - - ObSysVars[35].info_ = ""; - ObSysVars[35].name_ = "timestamp"; - ObSysVars[35].data_type_ = ObNumberType; - ObSysVars[35].value_ = "0"; - ObSysVars[35].min_val_ = "0"; - ObSysVars[35].flags_ = ObSysVarFlag::SESSION_SCOPE; - ObSysVars[35].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_max_min_timestamp"; - ObSysVars[35].id_ = SYS_VAR_TIMESTAMP; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TIMESTAMP)); - ObSysVarsIdToArrayIdx[SYS_VAR_TIMESTAMP] = 35; - ObSysVars[35].alias_ = "OB_SV_TIMESTAMP"; - - ObSysVars[36].info_ = ""; - ObSysVars[36].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope"; - ObSysVars[36].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only"; - ObSysVars[36].name_ = "tx_read_only"; - ObSysVars[36].data_type_ = ObIntType; - ObSysVars[36].value_ = "0"; - ObSysVars[36].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[36].base_class_ = "ObSessionSpecialBoolSysVar"; - ObSysVars[36].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_read_only"; - ObSysVars[36].id_ = SYS_VAR_TX_READ_ONLY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TX_READ_ONLY)); - ObSysVarsIdToArrayIdx[SYS_VAR_TX_READ_ONLY] = 36; - ObSysVars[36].alias_ = "OB_SV_TX_READ_ONLY"; - - ObSysVars[37].info_ = ""; - ObSysVars[37].name_ = "version"; - ObSysVars[37].data_type_ = ObVarcharType; - ObSysVars[37].value_ = "5.6.25"; - ObSysVars[37].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[37].id_ = SYS_VAR_VERSION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION)); - ObSysVarsIdToArrayIdx[SYS_VAR_VERSION] = 37; - ObSysVars[37].alias_ = "OB_SV_VERSION"; - - ObSysVars[38].info_ = ""; - ObSysVars[38].name_ = "sql_warnings"; - ObSysVars[38].data_type_ = ObIntType; - ObSysVars[38].value_ = "0"; - ObSysVars[38].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[38].id_ = SYS_VAR_SQL_WARNINGS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_WARNINGS)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_WARNINGS] = 38; - ObSysVars[38].alias_ = "OB_SV_SQL_WARNINGS"; - - ObSysVars[39].info_ = ""; - ObSysVars[39].name_ = "max_user_connections"; - ObSysVars[39].data_type_ = ObUInt64Type; - ObSysVars[39].value_ = "0"; - ObSysVars[39].min_val_ = "0"; - ObSysVars[39].max_val_ = "4294967295"; - ObSysVars[39].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::SESSION_READONLY; - ObSysVars[39].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_max_user_connections"; - ObSysVars[39].id_ = SYS_VAR_MAX_USER_CONNECTIONS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_USER_CONNECTIONS)); - ObSysVarsIdToArrayIdx[SYS_VAR_MAX_USER_CONNECTIONS] = 39; - ObSysVars[39].alias_ = "OB_SV_MAX_USER_CONNECTIONS"; - - ObSysVars[40].info_ = ""; - ObSysVars[40].name_ = "init_connect"; - ObSysVars[40].data_type_ = ObVarcharType; - ObSysVars[40].value_ = ""; - ObSysVars[40].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[40].id_ = SYS_VAR_INIT_CONNECT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_INIT_CONNECT)); - ObSysVarsIdToArrayIdx[SYS_VAR_INIT_CONNECT] = 40; - ObSysVars[40].alias_ = "OB_SV_INIT_CONNECT"; - - ObSysVars[41].info_ = ""; - ObSysVars[41].name_ = "license"; - ObSysVars[41].data_type_ = ObVarcharType; - ObSysVars[41].value_ = ""; - ObSysVars[41].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[41].id_ = SYS_VAR_LICENSE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LICENSE)); - ObSysVarsIdToArrayIdx[SYS_VAR_LICENSE] = 41; - ObSysVars[41].alias_ = "OB_SV_LICENSE"; - - ObSysVars[42].info_ = "Buffer length for TCP/IP and socket communication"; - ObSysVars[42].name_ = "net_buffer_length"; - ObSysVars[42].data_type_ = ObIntType; - ObSysVars[42].value_ = "16384"; - ObSysVars[42].min_val_ = "1024"; - ObSysVars[42].max_val_ = "1048576"; - ObSysVars[42].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::SESSION_READONLY; - ObSysVars[42].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_net_buffer_length"; - ObSysVars[42].id_ = SYS_VAR_NET_BUFFER_LENGTH; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NET_BUFFER_LENGTH)); - ObSysVarsIdToArrayIdx[SYS_VAR_NET_BUFFER_LENGTH] = 42; - ObSysVars[42].alias_ = "OB_SV_NET_BUFFER_LENGTH"; - - ObSysVars[43].info_ = "The server system time zone"; - ObSysVars[43].name_ = "system_time_zone"; - ObSysVars[43].data_type_ = ObVarcharType; - ObSysVars[43].value_ = "CST"; - ObSysVars[43].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[43].id_ = SYS_VAR_SYSTEM_TIME_ZONE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SYSTEM_TIME_ZONE)); - ObSysVarsIdToArrayIdx[SYS_VAR_SYSTEM_TIME_ZONE] = 43; - ObSysVars[43].alias_ = "OB_SV_SYSTEM_TIME_ZONE"; - - ObSysVars[44].info_ = "The memory allocated to store results from old queries(not used yet)"; - ObSysVars[44].name_ = "query_cache_size"; - ObSysVars[44].data_type_ = ObUInt64Type; - ObSysVars[44].value_ = "1048576"; - ObSysVars[44].min_val_ = "0"; - ObSysVars[44].max_val_ = "18446744073709551615"; - ObSysVars[44].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[44].id_ = SYS_VAR_QUERY_CACHE_SIZE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_QUERY_CACHE_SIZE)); - ObSysVarsIdToArrayIdx[SYS_VAR_QUERY_CACHE_SIZE] = 44; - ObSysVars[44].alias_ = "OB_SV_QUERY_CACHE_SIZE"; - - ObSysVars[45].info_ = "OFF = Do not cache or retrieve results. ON = Cache all results except SELECT SQL_NO_CACHE " - "... queries. DEMAND = Cache only SELECT SQL_CACHE ... queries(not used yet)"; - ObSysVars[45].name_ = "query_cache_type"; - ObSysVars[45].data_type_ = ObIntType; - ObSysVars[45].enum_names_ = "[u'OFF', u'ON', u'DEMAND']"; - ObSysVars[45].value_ = "0"; - ObSysVars[45].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[45].id_ = SYS_VAR_QUERY_CACHE_TYPE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_QUERY_CACHE_TYPE)); - ObSysVarsIdToArrayIdx[SYS_VAR_QUERY_CACHE_TYPE] = 45; - ObSysVars[45].alias_ = "OB_SV_QUERY_CACHE_TYPE"; - - ObSysVars[46].info_ = ""; - ObSysVars[46].name_ = "sql_quote_show_create"; - ObSysVars[46].data_type_ = ObIntType; - ObSysVars[46].value_ = "1"; - ObSysVars[46].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[46].id_ = SYS_VAR_SQL_QUOTE_SHOW_CREATE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_QUOTE_SHOW_CREATE)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_QUOTE_SHOW_CREATE] = 46; - ObSysVars[46].alias_ = "OB_SV_SQL_QUOTE_SHOW_CREATE"; - - ObSysVars[47].info_ = "The number of times that any given stored procedure may be called recursively."; - ObSysVars[47].name_ = "max_sp_recursion_depth"; - ObSysVars[47].data_type_ = ObIntType; - ObSysVars[47].value_ = "0"; - ObSysVars[47].min_val_ = "0"; - ObSysVars[47].max_val_ = "255"; - ObSysVars[47].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[47].id_ = SYS_VAR_MAX_SP_RECURSION_DEPTH; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_SP_RECURSION_DEPTH)); - ObSysVarsIdToArrayIdx[SYS_VAR_MAX_SP_RECURSION_DEPTH] = 47; - ObSysVars[47].alias_ = "OB_SV_MAX_SP_RECURSION_DEPTH"; - - ObSysVars[48].info_ = "enable mysql sql safe updates"; - ObSysVars[48].name_ = "sql_safe_updates"; - ObSysVars[48].data_type_ = ObIntType; - ObSysVars[48].value_ = "0"; - ObSysVars[48].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::MYSQL_ONLY; - ObSysVars[48].id_ = SYS_VAR_SQL_SAFE_UPDATES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_SAFE_UPDATES)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_SAFE_UPDATES] = 48; - ObSysVars[48].alias_ = "OB_SV_SQL_SAFE_UPDATES"; - - ObSysVars[49].info_ = ""; - ObSysVars[49].name_ = "concurrent_insert"; - ObSysVars[49].data_type_ = ObVarcharType; - ObSysVars[49].value_ = "AUTO"; - ObSysVars[49].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[49].id_ = SYS_VAR_CONCURRENT_INSERT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CONCURRENT_INSERT)); - ObSysVarsIdToArrayIdx[SYS_VAR_CONCURRENT_INSERT] = 49; - ObSysVars[49].alias_ = "OB_SV_CONCURRENT_INSERT"; - - ObSysVars[50].info_ = ""; - ObSysVars[50].name_ = "default_authentication_plugin"; - ObSysVars[50].data_type_ = ObVarcharType; - ObSysVars[50].value_ = "mysql_native_password"; - ObSysVars[50].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[50].id_ = SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN)); - ObSysVarsIdToArrayIdx[SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN] = 50; - ObSysVars[50].alias_ = "OB_SV_DEFAULT_AUTHENTICATION_PLUGIN"; - - ObSysVars[51].info_ = ""; - ObSysVars[51].name_ = "disabled_storage_engines"; - ObSysVars[51].data_type_ = ObVarcharType; - ObSysVars[51].value_ = ""; - ObSysVars[51].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[51].id_ = SYS_VAR_DISABLED_STORAGE_ENGINES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DISABLED_STORAGE_ENGINES)); - ObSysVarsIdToArrayIdx[SYS_VAR_DISABLED_STORAGE_ENGINES] = 51; - ObSysVars[51].alias_ = "OB_SV_DISABLED_STORAGE_ENGINES"; - - ObSysVars[52].info_ = ""; - ObSysVars[52].name_ = "error_count"; - ObSysVars[52].data_type_ = ObUInt64Type; - ObSysVars[52].value_ = "0"; - ObSysVars[52].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[52].id_ = SYS_VAR_ERROR_COUNT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_ERROR_COUNT)); - ObSysVarsIdToArrayIdx[SYS_VAR_ERROR_COUNT] = 52; - ObSysVars[52].alias_ = "OB_SV_ERROR_COUNT"; - - ObSysVars[53].info_ = ""; - ObSysVars[53].name_ = "general_log"; - ObSysVars[53].data_type_ = ObIntType; - ObSysVars[53].value_ = "0"; - ObSysVars[53].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[53].id_ = SYS_VAR_GENERAL_LOG; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_GENERAL_LOG)); - ObSysVarsIdToArrayIdx[SYS_VAR_GENERAL_LOG] = 53; - ObSysVars[53].alias_ = "OB_SV_GENERAL_LOG"; - - ObSysVars[54].info_ = ""; - ObSysVars[54].name_ = "have_openssl"; - ObSysVars[54].data_type_ = ObVarcharType; - ObSysVars[54].value_ = "YES"; - ObSysVars[54].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[54].id_ = SYS_VAR_HAVE_OPENSSL; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HAVE_OPENSSL)); - ObSysVarsIdToArrayIdx[SYS_VAR_HAVE_OPENSSL] = 54; - ObSysVars[54].alias_ = "OB_SV_HAVE_OPENSSL"; - - ObSysVars[55].info_ = ""; - ObSysVars[55].name_ = "have_profiling"; - ObSysVars[55].data_type_ = ObVarcharType; - ObSysVars[55].value_ = "YES"; - ObSysVars[55].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[55].id_ = SYS_VAR_HAVE_PROFILING; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HAVE_PROFILING)); - ObSysVarsIdToArrayIdx[SYS_VAR_HAVE_PROFILING] = 55; - ObSysVars[55].alias_ = "OB_SV_HAVE_PROFILING"; - - ObSysVars[56].info_ = ""; - ObSysVars[56].name_ = "have_ssl"; - ObSysVars[56].data_type_ = ObVarcharType; - ObSysVars[56].value_ = "YES"; - ObSysVars[56].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[56].id_ = SYS_VAR_HAVE_SSL; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HAVE_SSL)); - ObSysVarsIdToArrayIdx[SYS_VAR_HAVE_SSL] = 56; - ObSysVars[56].alias_ = "OB_SV_HAVE_SSL"; - - ObSysVars[57].info_ = ""; - ObSysVars[57].name_ = "hostname"; - ObSysVars[57].data_type_ = ObVarcharType; - ObSysVars[57].value_ = ""; - ObSysVars[57].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[57].id_ = SYS_VAR_HOSTNAME; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HOSTNAME)); - ObSysVarsIdToArrayIdx[SYS_VAR_HOSTNAME] = 57; - ObSysVars[57].alias_ = "OB_SV_HOSTNAME"; - - ObSysVars[58].info_ = ""; - ObSysVars[58].name_ = "lc_messages"; - ObSysVars[58].data_type_ = ObVarcharType; - ObSysVars[58].value_ = "en_US"; - ObSysVars[58].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[58].id_ = SYS_VAR_LC_MESSAGES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LC_MESSAGES)); - ObSysVarsIdToArrayIdx[SYS_VAR_LC_MESSAGES] = 58; - ObSysVars[58].alias_ = "OB_SV_LC_MESSAGES"; - - ObSysVars[59].info_ = ""; - ObSysVars[59].name_ = "local_infile"; - ObSysVars[59].data_type_ = ObIntType; - ObSysVars[59].value_ = "1"; - ObSysVars[59].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[59].id_ = SYS_VAR_LOCAL_INFILE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LOCAL_INFILE)); - ObSysVarsIdToArrayIdx[SYS_VAR_LOCAL_INFILE] = 59; - ObSysVars[59].alias_ = "OB_SV_LOCAL_INFILE"; - - ObSysVars[60].info_ = ""; - ObSysVars[60].name_ = "lock_wait_timeout"; - ObSysVars[60].data_type_ = ObIntType; - ObSysVars[60].value_ = "31536000"; - ObSysVars[60].min_val_ = "1"; - ObSysVars[60].max_val_ = "31536000"; - ObSysVars[60].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[60].id_ = SYS_VAR_LOCK_WAIT_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LOCK_WAIT_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_LOCK_WAIT_TIMEOUT] = 60; - ObSysVars[60].alias_ = "OB_SV_LOCK_WAIT_TIMEOUT"; - - ObSysVars[61].info_ = ""; - ObSysVars[61].name_ = "long_query_time"; - ObSysVars[61].data_type_ = ObNumberType; - ObSysVars[61].value_ = "10"; - ObSysVars[61].min_val_ = "0"; - ObSysVars[61].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[61].id_ = SYS_VAR_LONG_QUERY_TIME; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LONG_QUERY_TIME)); - ObSysVarsIdToArrayIdx[SYS_VAR_LONG_QUERY_TIME] = 61; - ObSysVars[61].alias_ = "OB_SV_LONG_QUERY_TIME"; - - ObSysVars[62].info_ = ""; - ObSysVars[62].name_ = "max_connections"; - ObSysVars[62].data_type_ = ObUInt64Type; - ObSysVars[62].value_ = "4294967295"; - ObSysVars[62].min_val_ = "1"; - ObSysVars[62].max_val_ = "4294967295"; - ObSysVars[62].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[62].id_ = SYS_VAR_MAX_CONNECTIONS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_CONNECTIONS)); - ObSysVarsIdToArrayIdx[SYS_VAR_MAX_CONNECTIONS] = 62; - ObSysVars[62].alias_ = "OB_SV_MAX_CONNECTIONS"; - - ObSysVars[63].info_ = ""; - ObSysVars[63].name_ = "max_execution_time"; - ObSysVars[63].data_type_ = ObIntType; - ObSysVars[63].value_ = "0"; - ObSysVars[63].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[63].id_ = SYS_VAR_MAX_EXECUTION_TIME; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_EXECUTION_TIME)); - ObSysVarsIdToArrayIdx[SYS_VAR_MAX_EXECUTION_TIME] = 63; - ObSysVars[63].alias_ = "OB_SV_MAX_EXECUTION_TIME"; - - ObSysVars[64].info_ = ""; - ObSysVars[64].name_ = "protocol_version"; - ObSysVars[64].data_type_ = ObIntType; - ObSysVars[64].value_ = "10"; - ObSysVars[64].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[64].id_ = SYS_VAR_PROTOCOL_VERSION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PROTOCOL_VERSION)); - ObSysVarsIdToArrayIdx[SYS_VAR_PROTOCOL_VERSION] = 64; - ObSysVars[64].alias_ = "OB_SV_PROTOCOL_VERSION"; - - ObSysVars[65].info_ = ""; - ObSysVars[65].name_ = "server_id"; - ObSysVars[65].data_type_ = ObIntType; - ObSysVars[65].value_ = "0"; - ObSysVars[65].min_val_ = "0"; - ObSysVars[65].max_val_ = "4294967295"; - ObSysVars[65].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[65].id_ = SYS_VAR_SERVER_ID; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SERVER_ID)); - ObSysVarsIdToArrayIdx[SYS_VAR_SERVER_ID] = 65; - ObSysVars[65].alias_ = "OB_SV_SERVER_ID"; - - ObSysVars[66].info_ = ""; - ObSysVars[66].name_ = "ssl_ca"; - ObSysVars[66].data_type_ = ObVarcharType; - ObSysVars[66].value_ = ""; - ObSysVars[66].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[66].id_ = SYS_VAR_SSL_CA; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CA)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CA] = 66; - ObSysVars[66].alias_ = "OB_SV_SSL_CA"; - - ObSysVars[67].info_ = ""; - ObSysVars[67].name_ = "ssl_capath"; - ObSysVars[67].data_type_ = ObVarcharType; - ObSysVars[67].value_ = ""; - ObSysVars[67].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[67].id_ = SYS_VAR_SSL_CAPATH; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CAPATH)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CAPATH] = 67; - ObSysVars[67].alias_ = "OB_SV_SSL_CAPATH"; - - ObSysVars[68].info_ = ""; - ObSysVars[68].name_ = "ssl_cert"; - ObSysVars[68].data_type_ = ObVarcharType; - ObSysVars[68].value_ = ""; - ObSysVars[68].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[68].id_ = SYS_VAR_SSL_CERT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CERT)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CERT] = 68; - ObSysVars[68].alias_ = "OB_SV_SSL_CERT"; - - ObSysVars[69].info_ = ""; - ObSysVars[69].name_ = "ssl_cipher"; - ObSysVars[69].data_type_ = ObVarcharType; - ObSysVars[69].value_ = ""; - ObSysVars[69].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[69].id_ = SYS_VAR_SSL_CIPHER; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CIPHER)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CIPHER] = 69; - ObSysVars[69].alias_ = "OB_SV_SSL_CIPHER"; - - ObSysVars[70].info_ = ""; - ObSysVars[70].name_ = "ssl_crl"; - ObSysVars[70].data_type_ = ObVarcharType; - ObSysVars[70].value_ = ""; - ObSysVars[70].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[70].id_ = SYS_VAR_SSL_CRL; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CRL)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CRL] = 70; - ObSysVars[70].alias_ = "OB_SV_SSL_CRL"; - - ObSysVars[71].info_ = ""; - ObSysVars[71].name_ = "ssl_crlpath"; - ObSysVars[71].data_type_ = ObVarcharType; - ObSysVars[71].value_ = ""; - ObSysVars[71].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[71].id_ = SYS_VAR_SSL_CRLPATH; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CRLPATH)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CRLPATH] = 71; - ObSysVars[71].alias_ = "OB_SV_SSL_CRLPATH"; - - ObSysVars[72].info_ = ""; - ObSysVars[72].name_ = "ssl_key"; - ObSysVars[72].data_type_ = ObVarcharType; - ObSysVars[72].value_ = ""; - ObSysVars[72].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[72].id_ = SYS_VAR_SSL_KEY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_KEY)); - ObSysVarsIdToArrayIdx[SYS_VAR_SSL_KEY] = 72; - ObSysVars[72].alias_ = "OB_SV_SSL_KEY"; - - ObSysVars[73].info_ = ""; - ObSysVars[73].name_ = "time_format"; - ObSysVars[73].data_type_ = ObVarcharType; - ObSysVars[73].value_ = "%H:%i:%s"; - ObSysVars[73].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[73].id_ = SYS_VAR_TIME_FORMAT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TIME_FORMAT)); - ObSysVarsIdToArrayIdx[SYS_VAR_TIME_FORMAT] = 73; - ObSysVars[73].alias_ = "OB_SV_TIME_FORMAT"; - - ObSysVars[74].info_ = "TLSv1,TLSv1.1,TLSv1.2"; - ObSysVars[74].name_ = "tls_version"; - ObSysVars[74].data_type_ = ObVarcharType; - ObSysVars[74].value_ = ""; - ObSysVars[74].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[74].id_ = SYS_VAR_TLS_VERSION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TLS_VERSION)); - ObSysVarsIdToArrayIdx[SYS_VAR_TLS_VERSION] = 74; - ObSysVars[74].alias_ = "OB_SV_TLS_VERSION"; - - ObSysVars[75].info_ = ""; - ObSysVars[75].name_ = "tmp_table_size"; - ObSysVars[75].data_type_ = ObUInt64Type; - ObSysVars[75].value_ = "16777216"; - ObSysVars[75].min_val_ = "1024"; - ObSysVars[75].max_val_ = "18446744073709551615"; - ObSysVars[75].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[75].id_ = SYS_VAR_TMP_TABLE_SIZE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TMP_TABLE_SIZE)); - ObSysVarsIdToArrayIdx[SYS_VAR_TMP_TABLE_SIZE] = 75; - ObSysVars[75].alias_ = "OB_SV_TMP_TABLE_SIZE"; - - ObSysVars[76].info_ = ""; - ObSysVars[76].name_ = "tmpdir"; - ObSysVars[76].data_type_ = ObVarcharType; - ObSysVars[76].value_ = ""; - ObSysVars[76].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[76].id_ = SYS_VAR_TMPDIR; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TMPDIR)); - ObSysVarsIdToArrayIdx[SYS_VAR_TMPDIR] = 76; - ObSysVars[76].alias_ = "OB_SV_TMPDIR"; - - ObSysVars[77].info_ = ""; - ObSysVars[77].name_ = "unique_checks"; - ObSysVars[77].data_type_ = ObIntType; - ObSysVars[77].value_ = "1"; - ObSysVars[77].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[77].id_ = SYS_VAR_UNIQUE_CHECKS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_UNIQUE_CHECKS)); - ObSysVarsIdToArrayIdx[SYS_VAR_UNIQUE_CHECKS] = 77; - ObSysVars[77].alias_ = "OB_SV_UNIQUE_CHECKS"; - - ObSysVars[78].info_ = ""; - ObSysVars[78].name_ = "version_compile_machine"; - ObSysVars[78].data_type_ = ObVarcharType; - ObSysVars[78].value_ = ""; - ObSysVars[78].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[78].id_ = SYS_VAR_VERSION_COMPILE_MACHINE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION_COMPILE_MACHINE)); - ObSysVarsIdToArrayIdx[SYS_VAR_VERSION_COMPILE_MACHINE] = 78; - ObSysVars[78].alias_ = "OB_SV_VERSION_COMPILE_MACHINE"; - - ObSysVars[79].info_ = ""; - ObSysVars[79].name_ = "version_compile_os"; - ObSysVars[79].data_type_ = ObVarcharType; - ObSysVars[79].value_ = ""; - ObSysVars[79].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[79].id_ = SYS_VAR_VERSION_COMPILE_OS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION_COMPILE_OS)); - ObSysVarsIdToArrayIdx[SYS_VAR_VERSION_COMPILE_OS] = 79; - ObSysVars[79].alias_ = "OB_SV_VERSION_COMPILE_OS"; - - ObSysVars[80].info_ = ""; - ObSysVars[80].name_ = "warning_count"; - ObSysVars[80].data_type_ = ObUInt64Type; - ObSysVars[80].value_ = "0"; - ObSysVars[80].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY; - ObSysVars[80].id_ = SYS_VAR_WARNING_COUNT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_WARNING_COUNT)); - ObSysVarsIdToArrayIdx[SYS_VAR_WARNING_COUNT] = 80; - ObSysVars[80].alias_ = "OB_SV_WARNING_COUNT"; - - ObSysVars[81].info_ = "The default replica number of table per zone if not specified when creating table."; - ObSysVars[81].name_ = "ob_default_replica_num"; - ObSysVars[81].data_type_ = ObIntType; - ObSysVars[81].value_ = "1"; - ObSysVars[81].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[81].id_ = SYS_VAR_OB_DEFAULT_REPLICA_NUM; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_DEFAULT_REPLICA_NUM)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_DEFAULT_REPLICA_NUM] = 81; - ObSysVars[81].alias_ = "OB_SV_DEFAULT_REPLICA_NUM"; - - ObSysVars[82].info_ = "Indicate how many bytes the interm result manager can alloc most for this tenant"; - ObSysVars[82].name_ = "ob_interm_result_mem_limit"; - ObSysVars[82].data_type_ = ObIntType; - ObSysVars[82].value_ = "2147483648"; - ObSysVars[82].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[82].id_ = SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT] = 82; - ObSysVars[82].alias_ = "OB_SV_INTERM_RESULT_MEM_LIMIT"; - - ObSysVars[83].info_ = "Indicate whether sql stmt hit right partition, readonly to user, modify by ob"; - ObSysVars[83].name_ = "ob_proxy_partition_hit"; - ObSysVars[83].data_type_ = ObIntType; - ObSysVars[83].value_ = "1"; - ObSysVars[83].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[83].id_ = SYS_VAR_OB_PROXY_PARTITION_HIT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_PARTITION_HIT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_PARTITION_HIT] = 83; - ObSysVars[83].alias_ = "OB_SV_PROXY_PARTITION_HIT"; - - ObSysVars[84].info_ = "log level in session"; - ObSysVars[84].name_ = "ob_log_level"; - ObSysVars[84].data_type_ = ObVarcharType; - ObSysVars[84].value_ = "disabled"; - ObSysVars[84].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[84].id_ = SYS_VAR_OB_LOG_LEVEL; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_LOG_LEVEL)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_LOG_LEVEL] = 84; - ObSysVars[84].alias_ = "OB_SV_LOG_LEVEL"; - - ObSysVars[85].info_ = "Max parellel sub request to chunkservers for one request"; - ObSysVars[85].name_ = "ob_max_parallel_degree"; - ObSysVars[85].data_type_ = ObIntType; - ObSysVars[85].value_ = "16"; - ObSysVars[85].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[85].id_ = SYS_VAR_OB_MAX_PARALLEL_DEGREE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_MAX_PARALLEL_DEGREE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_MAX_PARALLEL_DEGREE] = 85; - ObSysVars[85].alias_ = "OB_SV_MAX_PARALLEL_DEGREE"; - - ObSysVars[86].info_ = "Query timeout in microsecond(us)"; - ObSysVars[86].name_ = "ob_query_timeout"; - ObSysVars[86].data_type_ = ObIntType; - ObSysVars[86].value_ = "10000000"; - ObSysVars[86].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[86].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large"; - ObSysVars[86].id_ = SYS_VAR_OB_QUERY_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_QUERY_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_QUERY_TIMEOUT] = 86; - ObSysVars[86].alias_ = "OB_SV_QUERY_TIMEOUT"; - - ObSysVars[87].info_ = "read consistency level: 3=STRONG, 2=WEAK, 1=FROZEN"; - ObSysVars[87].name_ = "ob_read_consistency"; - ObSysVars[87].data_type_ = ObIntType; - ObSysVars[87].enum_names_ = "[u'', u'FROZEN', u'WEAK', u'STRONG']"; - ObSysVars[87].value_ = "3"; - ObSysVars[87].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[87].id_ = SYS_VAR_OB_READ_CONSISTENCY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_READ_CONSISTENCY)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_READ_CONSISTENCY] = 87; - ObSysVars[87].alias_ = "OB_SV_READ_CONSISTENCY"; - - ObSysVars[88].info_ = "whether use transform in session"; - ObSysVars[88].name_ = "ob_enable_transformation"; - ObSysVars[88].data_type_ = ObIntType; - ObSysVars[88].value_ = "1"; - ObSysVars[88].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[88].id_ = SYS_VAR_OB_ENABLE_TRANSFORMATION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRANSFORMATION)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRANSFORMATION] = 88; - ObSysVars[88].alias_ = "OB_SV_ENABLE_TRANSFORMATION"; - - ObSysVars[89].info_ = "The max duration of one transaction"; - ObSysVars[89].name_ = "ob_trx_timeout"; - ObSysVars[89].data_type_ = ObIntType; - ObSysVars[89].value_ = "100000000"; - ObSysVars[89].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[89].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large"; - ObSysVars[89].id_ = SYS_VAR_OB_TRX_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRX_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRX_TIMEOUT] = 89; - ObSysVars[89].alias_ = "OB_SV_TRX_TIMEOUT"; - - ObSysVars[90].info_ = "whether use plan cache in session"; - ObSysVars[90].name_ = "ob_enable_plan_cache"; - ObSysVars[90].data_type_ = ObIntType; - ObSysVars[90].value_ = "1"; - ObSysVars[90].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[90].id_ = SYS_VAR_OB_ENABLE_PLAN_CACHE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_PLAN_CACHE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_PLAN_CACHE] = 90; - ObSysVars[90].alias_ = "OB_SV_ENABLE_PLAN_CACHE"; - - ObSysVars[91].info_ = "whether can select from index table"; - ObSysVars[91].name_ = "ob_enable_index_direct_select"; - ObSysVars[91].data_type_ = ObIntType; - ObSysVars[91].value_ = "0"; - ObSysVars[91].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[91].id_ = SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT] = 91; - ObSysVars[91].alias_ = "OB_SV_ENABLE_INDEX_DIRECT_SELECT"; - - ObSysVars[92].info_ = "this value is true if we have executed set transaction stmt, until a transaction " - "commit(explicit or implicit) successfully"; - ObSysVars[92].name_ = "ob_proxy_set_trx_executed"; - ObSysVars[92].data_type_ = ObIntType; - ObSysVars[92].value_ = "0"; - ObSysVars[92].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[92].id_ = SYS_VAR_OB_PROXY_SET_TRX_EXECUTED; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_SET_TRX_EXECUTED)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_SET_TRX_EXECUTED] = 92; - ObSysVars[92].alias_ = "OB_SV_PROXY_SET_TRX_EXECUTED"; - - ObSysVars[93].info_ = "enable aggregation function to be push-downed through exchange nodes"; - ObSysVars[93].name_ = "ob_enable_aggregation_pushdown"; - ObSysVars[93].data_type_ = ObIntType; - ObSysVars[93].value_ = "1"; - ObSysVars[93].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[93].id_ = SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN] = 93; - ObSysVars[93].alias_ = "OB_SV_ENABLE_AGGREGATION_PUSHDOWN"; - - ObSysVars[94].info_ = ""; - ObSysVars[94].name_ = "ob_last_schema_version"; - ObSysVars[94].data_type_ = ObIntType; - ObSysVars[94].value_ = "0"; - ObSysVars[94].flags_ = ObSysVarFlag::SESSION_SCOPE; - ObSysVars[94].id_ = SYS_VAR_OB_LAST_SCHEMA_VERSION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_LAST_SCHEMA_VERSION)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_LAST_SCHEMA_VERSION] = 94; - ObSysVars[94].alias_ = "OB_SV_LAST_SCHEMA_VERSION"; - - ObSysVars[95].info_ = "Global debug sync facility"; - ObSysVars[95].name_ = "ob_global_debug_sync"; - ObSysVars[95].data_type_ = ObVarcharType; - ObSysVars[95].value_ = ""; - ObSysVars[95].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[95].id_ = SYS_VAR_OB_GLOBAL_DEBUG_SYNC; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_GLOBAL_DEBUG_SYNC)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_GLOBAL_DEBUG_SYNC] = 95; - ObSysVars[95].alias_ = "OB_SV_GLOBAL_DEBUG_SYNC"; - - ObSysVars[96].info_ = "this value is global variables last modified time when server session create, used for " - "proxy to judge whether global vars has changed between two server session"; - ObSysVars[96].name_ = "ob_proxy_global_variables_version"; - ObSysVars[96].data_type_ = ObIntType; - ObSysVars[96].value_ = "0"; - ObSysVars[96].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[96].id_ = SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION] = 96; - ObSysVars[96].alias_ = "OB_SV_PROXY_GLOBAL_VARIABLES_VERSION"; - - ObSysVars[97].info_ = "control whether use trace log"; - ObSysVars[97].name_ = "ob_enable_trace_log"; - ObSysVars[97].data_type_ = ObIntType; - ObSysVars[97].value_ = "0"; - ObSysVars[97].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[97].id_ = SYS_VAR_OB_ENABLE_TRACE_LOG; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRACE_LOG)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRACE_LOG] = 97; - ObSysVars[97].alias_ = "OB_SV_ENABLE_TRACE_LOG"; - - ObSysVars[98].info_ = ""; - ObSysVars[98].name_ = "ob_enable_hash_group_by"; - ObSysVars[98].data_type_ = ObIntType; - ObSysVars[98].value_ = "1"; - ObSysVars[98].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[98].id_ = SYS_VAR_OB_ENABLE_HASH_GROUP_BY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_HASH_GROUP_BY)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_HASH_GROUP_BY] = 98; - ObSysVars[98].alias_ = "OB_SV_ENABLE_HASH_GROUP_BY"; - - ObSysVars[99].info_ = ""; - ObSysVars[99].name_ = "ob_enable_blk_nestedloop_join"; - ObSysVars[99].data_type_ = ObIntType; - ObSysVars[99].value_ = "0"; - ObSysVars[99].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[99].id_ = SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN] = 99; - ObSysVars[99].alias_ = "OB_SV_ENABLE_BLK_NESTEDLOOP_JOIN"; - - ObSysVars[100].info_ = ""; - ObSysVars[100].name_ = "ob_bnl_join_cache_size"; - ObSysVars[100].data_type_ = ObIntType; - ObSysVars[100].value_ = "10485760"; - ObSysVars[100].min_val_ = "1"; - ObSysVars[100].max_val_ = "9223372036854775807"; - ObSysVars[100].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[100].id_ = SYS_VAR_OB_BNL_JOIN_CACHE_SIZE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_BNL_JOIN_CACHE_SIZE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_BNL_JOIN_CACHE_SIZE] = 100; - ObSysVars[100].alias_ = "OB_SV_BNL_JOIN_CACHE_SIZE"; - - ObSysVars[101].info_ = "Indicate current client session user privilege, readonly after modified by first observer"; - ObSysVars[101].name_ = "ob_proxy_user_privilege"; - ObSysVars[101].data_type_ = ObIntType; - ObSysVars[101].value_ = "0"; - ObSysVars[101].min_val_ = "0"; - ObSysVars[101].max_val_ = "9223372036854775807"; - ObSysVars[101].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[101].id_ = SYS_VAR_OB_PROXY_USER_PRIVILEGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_USER_PRIVILEGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_USER_PRIVILEGE] = 101; - ObSysVars[101].alias_ = "OB_SV_PROXY_USER_PRIVILEGE"; - - ObSysVars[102].info_ = - "When the DRC system copies data into the target cluster, it needs to be set to the CLUSTER_ID that should be " - "written into commit log of OceanBase, in order to avoid loop replication of data. Normally, it does not need " - "to be set, and OceanBase will use the default value, which is the CLUSTER_ID of current cluster of OceanBase. " - "0 indicates it is not set, please do not set it to 0"; - ObSysVars[102].base_class_ = "ObStrictRangeIntSysVar"; - ObSysVars[102].name_ = "ob_org_cluster_id"; - ObSysVars[102].data_type_ = ObIntType; - ObSysVars[102].value_ = "0"; - ObSysVars[102].min_val_ = "0"; - ObSysVars[102].max_val_ = "4294967295"; - ObSysVars[102].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[102].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_ob_org_cluster_id"; - ObSysVars[102].id_ = SYS_VAR_OB_ORG_CLUSTER_ID; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ORG_CLUSTER_ID)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ORG_CLUSTER_ID] = 102; - ObSysVars[102].alias_ = "OB_SV_ORG_CLUSTER_ID"; - - ObSysVars[103].info_ = "percentage of tenant memory resources that can be used by plan cache"; - ObSysVars[103].name_ = "ob_plan_cache_percentage"; - ObSysVars[103].data_type_ = ObIntType; - ObSysVars[103].value_ = "5"; - ObSysVars[103].min_val_ = "0"; - ObSysVars[103].max_val_ = "100"; - ObSysVars[103].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[103].id_ = SYS_VAR_OB_PLAN_CACHE_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PLAN_CACHE_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PLAN_CACHE_PERCENTAGE] = 103; - ObSysVars[103].alias_ = "OB_SV_PLAN_CACHE_PERCENTAGE"; - - ObSysVars[104].info_ = "memory usage percentage of plan_cache_limit at which plan cache eviction will be trigger"; - ObSysVars[104].name_ = "ob_plan_cache_evict_high_percentage"; - ObSysVars[104].data_type_ = ObIntType; - ObSysVars[104].value_ = "90"; - ObSysVars[104].min_val_ = "0"; - ObSysVars[104].max_val_ = "100"; - ObSysVars[104].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[104].id_ = SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE] = 104; - ObSysVars[104].alias_ = "OB_SV_PLAN_CACHE_EVICT_HIGH_PERCENTAGE"; - - ObSysVars[105].info_ = "memory usage percentage of plan_cache_limit at which plan cache eviction will be stopped"; - ObSysVars[105].name_ = "ob_plan_cache_evict_low_percentage"; - ObSysVars[105].data_type_ = ObIntType; - ObSysVars[105].value_ = "50"; - ObSysVars[105].min_val_ = "0"; - ObSysVars[105].max_val_ = "100"; - ObSysVars[105].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[105].id_ = SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE] = 105; - ObSysVars[105].alias_ = "OB_SV_PLAN_CACHE_EVICT_LOW_PERCENTAGE"; - - ObSysVars[106].info_ = "When the recycle bin is enabled, dropped tables and their dependent objects are placed in " - "the recycle bin. When the recycle bin is disabled, dropped tables and their dependent " - "objects are not placed in the recycle bin; they are just dropped."; - ObSysVars[106].name_ = "recyclebin"; - ObSysVars[106].data_type_ = ObIntType; - ObSysVars[106].value_ = "0"; - ObSysVars[106].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[106].id_ = SYS_VAR_RECYCLEBIN; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_RECYCLEBIN)); - ObSysVarsIdToArrayIdx[SYS_VAR_RECYCLEBIN] = 106; - ObSysVars[106].alias_ = "OB_SV_RECYCLEBIN"; - - ObSysVars[107].info_ = "Indicate features that observer supports, readonly after modified by first observer"; - ObSysVars[107].name_ = "ob_capability_flag"; - ObSysVars[107].data_type_ = ObUInt64Type; - ObSysVars[107].value_ = "0"; - ObSysVars[107].min_val_ = "0"; - ObSysVars[107].max_val_ = "18446744073709551615"; - ObSysVars[107].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[107].id_ = SYS_VAR_OB_CAPABILITY_FLAG; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_CAPABILITY_FLAG)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_CAPABILITY_FLAG] = 107; - ObSysVars[107].alias_ = "OB_SV_CAPABILITY_FLAG"; - - ObSysVars[108].info_ = - "The parallel degree of a job in a query, which represent how many tasks of a job can be run parallelly"; - ObSysVars[108].name_ = "ob_stmt_parallel_degree"; - ObSysVars[108].data_type_ = ObIntType; - ObSysVars[108].value_ = "1"; - ObSysVars[108].min_val_ = "1"; - ObSysVars[108].max_val_ = "10240"; - ObSysVars[108].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[108].id_ = SYS_VAR_OB_STMT_PARALLEL_DEGREE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_STMT_PARALLEL_DEGREE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_STMT_PARALLEL_DEGREE] = 108; - ObSysVars[108].alias_ = "OB_SV_STMT_PARALLEL_DEGREE"; - - ObSysVars[109].info_ = - "when query is with topk hint, is_result_accurate indicates whether the result is acuurate or not "; - ObSysVars[109].name_ = "is_result_accurate"; - ObSysVars[109].data_type_ = ObIntType; - ObSysVars[109].value_ = "1"; - ObSysVars[109].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[109].id_ = SYS_VAR_IS_RESULT_ACCURATE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_IS_RESULT_ACCURATE)); - ObSysVarsIdToArrayIdx[SYS_VAR_IS_RESULT_ACCURATE] = 109; - ObSysVars[109].alias_ = "OB_SV_IS_RESULT_ACCURATE"; - - ObSysVars[110].info_ = "The variable determines how OceanBase should handle an ambiguous boundary datetime value a " - "case in which it is not clear whether the datetime is in standard or daylight saving time"; - ObSysVars[110].name_ = "error_on_overlap_time"; - ObSysVars[110].data_type_ = ObIntType; - ObSysVars[110].value_ = "0"; - ObSysVars[110].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[110].id_ = SYS_VAR_ERROR_ON_OVERLAP_TIME; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_ERROR_ON_OVERLAP_TIME)); - ObSysVarsIdToArrayIdx[SYS_VAR_ERROR_ON_OVERLAP_TIME] = 110; - ObSysVars[110].alias_ = "OB_SV_ERROR_ON_OVERLAP_TIME"; - - ObSysVars[111].info_ = "What DBMS is OceanBase compatible with? MYSQL means it behaves like MySQL while ORACLE " - "means it behaves like Oracle."; - ObSysVars[111].name_ = "ob_compatibility_mode"; - ObSysVars[111].data_type_ = ObIntType; - ObSysVars[111].enum_names_ = "[u'MYSQL', u'ORACLE']"; - ObSysVars[111].value_ = "0"; - ObSysVars[111].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::READONLY | - ObSysVarFlag::WITH_UPGRADE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[111].id_ = SYS_VAR_OB_COMPATIBILITY_MODE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_COMPATIBILITY_MODE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_COMPATIBILITY_MODE] = 111; - ObSysVars[111].alias_ = "OB_SV_COMPATIBILITY_MODE"; - - ObSysVars[112].info_ = "If set true, create all the replicas according to the locality or the operation will fail."; - ObSysVars[112].name_ = "ob_create_table_strict_mode"; - ObSysVars[112].data_type_ = ObIntType; - ObSysVars[112].value_ = "1"; - ObSysVars[112].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[112].id_ = SYS_VAR_OB_CREATE_TABLE_STRICT_MODE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_CREATE_TABLE_STRICT_MODE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_CREATE_TABLE_STRICT_MODE] = 112; - ObSysVars[112].alias_ = "OB_SV_CREATE_TABLE_STRICT_MODE"; - - ObSysVars[113].info_ = "The percentage limitation of tenant memory for SQL execution."; - ObSysVars[113].name_ = "ob_sql_work_area_percentage"; - ObSysVars[113].data_type_ = ObIntType; - ObSysVars[113].value_ = "5"; - ObSysVars[113].min_val_ = "0"; - ObSysVars[113].max_val_ = "100"; - ObSysVars[113].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[113].id_ = SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE] = 113; - ObSysVars[113].alias_ = "OB_SV_SQL_WORK_AREA_PERCENTAGE"; - - ObSysVars[114].info_ = "The safe weak read snapshot version in one server"; - ObSysVars[114].on_update_func_ = "ObSysVarOnUpdateFuncs::update_safe_weak_read_snapshot"; - ObSysVars[114].name_ = "ob_safe_weak_read_snapshot"; - ObSysVars[114].data_type_ = ObIntType; - ObSysVars[114].value_ = "1"; - ObSysVars[114].min_val_ = "0"; - ObSysVars[114].max_val_ = "9223372036854775807"; - ObSysVars[114].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE; - ObSysVars[114].id_ = SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT] = 114; - ObSysVars[114].alias_ = "OB_SV_SAFE_WEAK_READ_SNAPSHOT"; - - ObSysVars[115].info_ = - "the routing policy of obproxy/java client and observer internal retry, 1=READONLY_ZONE_FIRST, " - "2=ONLY_READONLY_ZONE, 3=UNMERGE_ZONE_FIRST, 4=UNMERGE_FOLLOWER_FIRST"; - ObSysVars[115].name_ = "ob_route_policy"; - ObSysVars[115].data_type_ = ObIntType; - ObSysVars[115].enum_names_ = - "[u'', u'READONLY_ZONE_FIRST', u'ONLY_READONLY_ZONE', u'UNMERGE_ZONE_FIRST', u'UNMERGE_FOLLOWER_FIRST']"; - ObSysVars[115].value_ = "1"; - ObSysVars[115].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[115].id_ = SYS_VAR_OB_ROUTE_POLICY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ROUTE_POLICY)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ROUTE_POLICY] = 115; - ObSysVars[115].alias_ = "OB_SV_ROUTE_POLICY"; - - ObSysVars[116].info_ = "whether do the checksum of the packet between the client and the server"; - ObSysVars[116].name_ = "ob_enable_transmission_checksum"; - ObSysVars[116].data_type_ = ObIntType; - ObSysVars[116].value_ = "1"; - ObSysVars[116].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::QUERY_SENSITIVE | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[116].id_ = SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM] = 116; - ObSysVars[116].alias_ = "OB_SV_ENABLE_TRANSMISSION_CHECKSUM"; - - ObSysVars[117].info_ = "set to 1 (the default by MySQL), foreign key constraints are checked. If set to 0, foreign " - "key constraints are ignored"; - ObSysVars[117].name_ = "foreign_key_checks"; - ObSysVars[117].data_type_ = ObIntType; - ObSysVars[117].value_ = "1"; - ObSysVars[117].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[117].id_ = SYS_VAR_FOREIGN_KEY_CHECKS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_FOREIGN_KEY_CHECKS)); - ObSysVarsIdToArrayIdx[SYS_VAR_FOREIGN_KEY_CHECKS] = 117; - ObSysVars[117].alias_ = "OB_SV_FOREIGN_KEY_CHECKS"; - - ObSysVars[118].info_ = "the trace id of current executing statement"; - ObSysVars[118].name_ = "ob_statement_trace_id"; - ObSysVars[118].data_type_ = ObVarcharType; - ObSysVars[118].value_ = "Y0-0"; - ObSysVars[118].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::INVISIBLE; - ObSysVars[118].id_ = SYS_VAR_OB_STATEMENT_TRACE_ID; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_STATEMENT_TRACE_ID)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_STATEMENT_TRACE_ID] = 118; - ObSysVars[118].alias_ = "OB_SV_STATEMENT_TRACE_ID"; - - ObSysVars[119].info_ = "Enable the flashback of table truncation."; - ObSysVars[119].name_ = "ob_enable_truncate_flashback"; - ObSysVars[119].data_type_ = ObIntType; - ObSysVars[119].value_ = "0"; - ObSysVars[119].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[119].id_ = SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK] = 119; - ObSysVars[119].alias_ = "OB_SV_ENABLE_TRUNCATE_FLASHBACK"; - - ObSysVars[120].info_ = - "ip white list for tenant, support % and _ and multi ip(separated by commas), support ip match and wild match"; - ObSysVars[120].name_ = "ob_tcp_invited_nodes"; - ObSysVars[120].data_type_ = ObVarcharType; - ObSysVars[120].value_ = "127.0.0.1,::1"; - ObSysVars[120].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[120].id_ = SYS_VAR_OB_TCP_INVITED_NODES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TCP_INVITED_NODES)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TCP_INVITED_NODES] = 120; - ObSysVars[120].alias_ = "OB_SV_TCP_INVITED_NODES"; - - ObSysVars[121].info_ = "current priority used for SQL throttling"; - ObSysVars[121].name_ = "sql_throttle_current_priority"; - ObSysVars[121].data_type_ = ObIntType; - ObSysVars[121].value_ = "100"; - ObSysVars[121].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[121].id_ = SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY] = 121; - ObSysVars[121].alias_ = "OB_SV_SQL_THROTTLE_CURRENT_PRIORITY"; - - ObSysVars[122].info_ = - "sql throttle priority, query may not be allowed to execute if its priority isnt greater than this value."; - ObSysVars[122].name_ = "sql_throttle_priority"; - ObSysVars[122].data_type_ = ObIntType; - ObSysVars[122].value_ = "-1"; - ObSysVars[122].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[122].id_ = SYS_VAR_SQL_THROTTLE_PRIORITY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_PRIORITY)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_PRIORITY] = 122; - ObSysVars[122].alias_ = "OB_SV_SQL_THROTTLE_PRIORITY"; - - ObSysVars[123].info_ = "query may not be allowed to execute if its rt isnt less than this value."; - ObSysVars[123].name_ = "sql_throttle_rt"; - ObSysVars[123].data_type_ = ObNumberType; - ObSysVars[123].value_ = "-1"; - ObSysVars[123].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[123].id_ = SYS_VAR_SQL_THROTTLE_RT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_RT)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_RT] = 123; - ObSysVars[123].alias_ = "OB_SV_SQL_THROTTLE_RT"; - - ObSysVars[124].info_ = "query may not be allowed to execute if its CPU usage isnt less than this value."; - ObSysVars[124].name_ = "sql_throttle_cpu"; - ObSysVars[124].data_type_ = ObNumberType; - ObSysVars[124].value_ = "-1"; - ObSysVars[124].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[124].id_ = SYS_VAR_SQL_THROTTLE_CPU; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_CPU)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_CPU] = 124; - ObSysVars[124].alias_ = "OB_SV_SQL_THROTTLE_CPU"; - - ObSysVars[125].info_ = "query may not be allowed to execute if its number of IOs isnt less than this value."; - ObSysVars[125].name_ = "sql_throttle_io"; - ObSysVars[125].data_type_ = ObIntType; - ObSysVars[125].value_ = "-1"; - ObSysVars[125].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[125].id_ = SYS_VAR_SQL_THROTTLE_IO; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_IO)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_IO] = 125; - ObSysVars[125].alias_ = "OB_SV_SQL_THROTTLE_IO"; - - ObSysVars[126].info_ = "query may not be allowed to execute if its network usage isnt less than this value."; - ObSysVars[126].name_ = "sql_throttle_network"; - ObSysVars[126].data_type_ = ObNumberType; - ObSysVars[126].value_ = "-1"; - ObSysVars[126].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[126].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_sql_throttle_queue_time"; - ObSysVars[126].id_ = SYS_VAR_SQL_THROTTLE_NETWORK; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_NETWORK)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_NETWORK] = 126; - ObSysVars[126].alias_ = "OB_SV_SQL_THROTTLE_NETWORK"; - - ObSysVars[127].info_ = - "query may not be allowed to execute if its number of logical reads isnt less than this value."; - ObSysVars[127].name_ = "sql_throttle_logical_reads"; - ObSysVars[127].data_type_ = ObIntType; - ObSysVars[127].value_ = "-1"; - ObSysVars[127].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[127].id_ = SYS_VAR_SQL_THROTTLE_LOGICAL_READS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_LOGICAL_READS)); - ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_LOGICAL_READS] = 127; - ObSysVars[127].alias_ = "OB_SV_SQL_THROTTLE_LOGICAL_READS"; - - ObSysVars[128].info_ = "auto_increment service cache size"; - ObSysVars[128].name_ = "auto_increment_cache_size"; - ObSysVars[128].data_type_ = ObIntType; - ObSysVars[128].value_ = "1000000"; - ObSysVars[128].min_val_ = "1"; - ObSysVars[128].max_val_ = "100000000"; - ObSysVars[128].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[128].id_ = SYS_VAR_AUTO_INCREMENT_CACHE_SIZE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTO_INCREMENT_CACHE_SIZE)); - ObSysVarsIdToArrayIdx[SYS_VAR_AUTO_INCREMENT_CACHE_SIZE] = 128; - ObSysVars[128].alias_ = "OB_SV_AUTO_INCREMENT_CACHE_SIZE"; - - ObSysVars[129].info_ = "JIT execution engine mode, default is AUTO"; - ObSysVars[129].name_ = "ob_enable_jit"; - ObSysVars[129].data_type_ = ObIntType; - ObSysVars[129].enum_names_ = "[u'OFF', u'AUTO', u'FORCE']"; - ObSysVars[129].value_ = "0"; - ObSysVars[129].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[129].id_ = SYS_VAR_OB_ENABLE_JIT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_JIT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_JIT] = 129; - ObSysVars[129].alias_ = "OB_SV_ENABLE_JIT"; - - ObSysVars[130].info_ = "the percentage limitation of some temp tablespace size in tenant disk."; - ObSysVars[130].name_ = "ob_temp_tablespace_size_percentage"; - ObSysVars[130].data_type_ = ObIntType; - ObSysVars[130].value_ = "0"; - ObSysVars[130].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE; - ObSysVars[130].id_ = SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE] = 130; - ObSysVars[130].alias_ = "OB_SV_TEMP_TABLESPACE_SIZE_PERCENTAGE"; - - ObSysVars[131].info_ = "Enable use of adaptive cursor sharing"; - ObSysVars[131].name_ = "_optimizer_adaptive_cursor_sharing"; - ObSysVars[131].data_type_ = ObIntType; - ObSysVars[131].value_ = "0"; - ObSysVars[131].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[131].id_ = SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING)); - ObSysVarsIdToArrayIdx[SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING] = 131; - ObSysVars[131].alias_ = "OB_SV__OPTIMIZER_ADAPTIVE_CURSOR_SHARING"; - - ObSysVars[132].info_ = "the type of timestamp service"; - ObSysVars[132].name_ = "ob_timestamp_service"; - ObSysVars[132].data_type_ = ObIntType; - ObSysVars[132].enum_names_ = "[u'LTS', u'GTS', u'HA_GTS']"; - ObSysVars[132].value_ = "1"; - ObSysVars[132].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[132].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timestamp_service"; - ObSysVars[132].id_ = SYS_VAR_OB_TIMESTAMP_SERVICE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TIMESTAMP_SERVICE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TIMESTAMP_SERVICE] = 132; - ObSysVars[132].alias_ = "OB_SV_TIMESTAMP_SERVICE"; - - ObSysVars[133].info_ = "the dir to place plugin dll"; - ObSysVars[133].name_ = "plugin_dir"; - ObSysVars[133].data_type_ = ObVarcharType; - ObSysVars[133].value_ = "./plugin_dir/"; - ObSysVars[133].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::READONLY; - ObSysVars[133].id_ = SYS_VAR_PLUGIN_DIR; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PLUGIN_DIR)); - ObSysVarsIdToArrayIdx[SYS_VAR_PLUGIN_DIR] = 133; - ObSysVars[133].alias_ = "OB_SV_PLUGIN_DIR"; - - ObSysVars[134].info_ = "specifies (in seconds) the low threshold value of undo retention."; - ObSysVars[134].name_ = "undo_retention"; - ObSysVars[134].data_type_ = ObIntType; - ObSysVars[134].value_ = "0"; - ObSysVars[134].min_val_ = "0"; - ObSysVars[134].max_val_ = "4294967295"; - ObSysVars[134].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[134].id_ = SYS_VAR_UNDO_RETENTION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_UNDO_RETENTION)); - ObSysVarsIdToArrayIdx[SYS_VAR_UNDO_RETENTION] = 134; - ObSysVars[134].alias_ = "OB_SV_UNDO_RETENTION"; - - ObSysVars[135].info_ = "auto use parallel execution"; - ObSysVars[135].name_ = "_ob_use_parallel_execution"; - ObSysVars[135].data_type_ = ObIntType; - ObSysVars[135].value_ = "1"; - ObSysVars[135].flags_ = ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | - ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::INVISIBLE; - ObSysVars[135].id_ = SYS_VAR__OB_USE_PARALLEL_EXECUTION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_USE_PARALLEL_EXECUTION)); - ObSysVarsIdToArrayIdx[SYS_VAR__OB_USE_PARALLEL_EXECUTION] = 135; - ObSysVars[135].alias_ = "OB_SV__OB_USE_PARALLEL_EXECUTION"; - - ObSysVars[136].info_ = "The limited percentage of tenant memory for sql audit"; - ObSysVars[136].name_ = "ob_sql_audit_percentage"; - ObSysVars[136].data_type_ = ObIntType; - ObSysVars[136].value_ = "3"; - ObSysVars[136].min_val_ = "0"; - ObSysVars[136].max_val_ = "100"; - ObSysVars[136].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[136].id_ = SYS_VAR_OB_SQL_AUDIT_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_SQL_AUDIT_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_SQL_AUDIT_PERCENTAGE] = 136; - ObSysVars[136].alias_ = "OB_SV_SQL_AUDIT_PERCENTAGE"; - - ObSysVars[137].info_ = "wether use sql audit in session"; - ObSysVars[137].name_ = "ob_enable_sql_audit"; - ObSysVars[137].data_type_ = ObIntType; - ObSysVars[137].value_ = "1"; - ObSysVars[137].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[137].id_ = SYS_VAR_OB_ENABLE_SQL_AUDIT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_SQL_AUDIT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_SQL_AUDIT] = 137; - ObSysVars[137].alias_ = "OB_SV_ENABLE_SQL_AUDIT"; - - ObSysVars[138].info_ = "Enable use sql plan baseline"; - ObSysVars[138].name_ = "optimizer_use_sql_plan_baselines"; - ObSysVars[138].data_type_ = ObIntType; - ObSysVars[138].value_ = "1"; - ObSysVars[138].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[138].id_ = SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES)); - ObSysVarsIdToArrayIdx[SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES] = 138; - ObSysVars[138].alias_ = "OB_SV_OPTIMIZER_USE_SQL_PLAN_BASELINES"; - - ObSysVars[139].info_ = "optimizer_capture_sql_plan_baselines enables or disables automitic capture plan baseline."; - ObSysVars[139].name_ = "optimizer_capture_sql_plan_baselines"; - ObSysVars[139].data_type_ = ObIntType; - ObSysVars[139].value_ = "1"; - ObSysVars[139].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[139].id_ = SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES)); - ObSysVarsIdToArrayIdx[SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES] = 139; - ObSysVars[139].alias_ = "OB_SV_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES"; - - ObSysVars[140].info_ = "number of threads created to run parallel statements for each observer."; - ObSysVars[140].name_ = "parallel_max_servers"; - ObSysVars[140].data_type_ = ObIntType; - ObSysVars[140].value_ = "0"; - ObSysVars[140].min_val_ = "0"; - ObSysVars[140].max_val_ = "1800"; - ObSysVars[140].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[140].id_ = SYS_VAR_PARALLEL_MAX_SERVERS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PARALLEL_MAX_SERVERS)); - ObSysVarsIdToArrayIdx[SYS_VAR_PARALLEL_MAX_SERVERS] = 140; - ObSysVars[140].alias_ = "OB_SV_PARALLEL_MAX_SERVERS"; - - ObSysVars[141].info_ = - "number of threads allowed to run parallel statements before statement queuing will be used."; - ObSysVars[141].name_ = "parallel_servers_target"; - ObSysVars[141].data_type_ = ObIntType; - ObSysVars[141].value_ = "0"; - ObSysVars[141].min_val_ = "0"; - ObSysVars[141].max_val_ = "9223372036854775807"; - ObSysVars[141].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[141].id_ = SYS_VAR_PARALLEL_SERVERS_TARGET; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PARALLEL_SERVERS_TARGET)); - ObSysVarsIdToArrayIdx[SYS_VAR_PARALLEL_SERVERS_TARGET] = 141; - ObSysVars[141].alias_ = "OB_SV_PARALLEL_SERVERS_TARGET"; - - ObSysVars[142].info_ = "If set true, transaction open the elr optimization."; - ObSysVars[142].name_ = "ob_early_lock_release"; - ObSysVars[142].data_type_ = ObIntType; - ObSysVars[142].value_ = "0"; - ObSysVars[142].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[142].id_ = SYS_VAR_OB_EARLY_LOCK_RELEASE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_EARLY_LOCK_RELEASE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_EARLY_LOCK_RELEASE] = 142; - ObSysVars[142].alias_ = "OB_SV_EARLY_LOCK_RELEASE"; - - ObSysVars[143].info_ = "The stmt interval timeout of transaction(us)"; - ObSysVars[143].name_ = "ob_trx_idle_timeout"; - ObSysVars[143].data_type_ = ObIntType; - ObSysVars[143].value_ = "120000000"; - ObSysVars[143].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[143].id_ = SYS_VAR_OB_TRX_IDLE_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRX_IDLE_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRX_IDLE_TIMEOUT] = 143; - ObSysVars[143].alias_ = "OB_SV_TRX_IDLE_TIMEOUT"; - - ObSysVars[144].info_ = "specifies the encryption algorithm used in the functions aes_encrypt and aes_decrypt"; - ObSysVars[144].name_ = "block_encryption_mode"; - ObSysVars[144].data_type_ = ObIntType; - ObSysVars[144].enum_names_ = - "[u'aes-128-ecb', u'aes-192-ecb', u'aes-256-ecb', u'aes-128-cbc', u'aes-192-cbc', u'aes-256-cbc', " - "u'aes-128-cfb1', u'aes-192-cfb1', u'aes-256-cfb1', u'aes-128-cfb8', u'aes-192-cfb8', u'aes-256-cfb8', " - "u'aes-128-cfb128', u'aes-192-cfb128', u'aes-256-cfb128', u'aes-128-ofb', u'aes-192-ofb', u'aes-256-ofb']"; - ObSysVars[144].value_ = "0"; - ObSysVars[144].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[144].id_ = SYS_VAR_BLOCK_ENCRYPTION_MODE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_BLOCK_ENCRYPTION_MODE)); - ObSysVarsIdToArrayIdx[SYS_VAR_BLOCK_ENCRYPTION_MODE] = 144; - ObSysVars[144].alias_ = "OB_SV_BLOCK_ENCRYPTION_MODE"; - - ObSysVars[145].info_ = "specifies the default date format to use with the TO_CHAR and TO_DATE functions, " - "(YYYY-MM-DD HH24:MI:SS) is Common value"; - ObSysVars[145].name_ = "nls_date_format"; - ObSysVars[145].data_type_ = ObVarcharType; - ObSysVars[145].value_ = "DD-MON-RR"; - ObSysVars[145].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[145].id_ = SYS_VAR_NLS_DATE_FORMAT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_DATE_FORMAT)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_DATE_FORMAT] = 145; - ObSysVars[145].alias_ = "OB_SV_NLS_DATE_FORMAT"; - - ObSysVars[146].info_ = "specifies the default date format to use with the TO_CHAR and TO_TIMESTAMP functions, " - "(YYYY-MM-DD HH24:MI:SS.FF) is Common value"; - ObSysVars[146].name_ = "nls_timestamp_format"; - ObSysVars[146].data_type_ = ObVarcharType; - ObSysVars[146].value_ = "DD-MON-RR HH.MI.SSXFF AM"; - ObSysVars[146].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[146].id_ = SYS_VAR_NLS_TIMESTAMP_FORMAT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_TIMESTAMP_FORMAT)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_TIMESTAMP_FORMAT] = 146; - ObSysVars[146].alias_ = "OB_SV_NLS_TIMESTAMP_FORMAT"; - - ObSysVars[147].info_ = "specifies the default timestamp with time zone format to use with the TO_CHAR and " - "TO_TIMESTAMP_TZ functions, (YYYY-MM-DD HH24:MI:SS.FF TZR TZD) is common value"; - ObSysVars[147].name_ = "nls_timestamp_tz_format"; - ObSysVars[147].data_type_ = ObVarcharType; - ObSysVars[147].value_ = "DD-MON-RR HH.MI.SSXFF AM TZR"; - ObSysVars[147].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[147].id_ = SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT] = 147; - ObSysVars[147].alias_ = "OB_SV_NLS_TIMESTAMP_TZ_FORMAT"; - - ObSysVars[148].info_ = "percentage of tenant memory resources that can be used by tenant meta data"; - ObSysVars[148].name_ = "ob_reserved_meta_memory_percentage"; - ObSysVars[148].data_type_ = ObIntType; - ObSysVars[148].value_ = "10"; - ObSysVars[148].min_val_ = "1"; - ObSysVars[148].max_val_ = "100"; - ObSysVars[148].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[148].id_ = SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE] = 148; - ObSysVars[148].alias_ = "OB_SV_RESERVED_META_MEMORY_PERCENTAGE"; - - ObSysVars[149].info_ = "If set true, sql will update sys variable while schema version changed."; - ObSysVars[149].name_ = "ob_check_sys_variable"; - ObSysVars[149].data_type_ = ObIntType; - ObSysVars[149].value_ = "1"; - ObSysVars[149].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[149].id_ = SYS_VAR_OB_CHECK_SYS_VARIABLE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_CHECK_SYS_VARIABLE)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_CHECK_SYS_VARIABLE] = 149; - ObSysVars[149].alias_ = "OB_SV_CHECK_SYS_VARIABLE"; - - ObSysVars[150].info_ = "specifies the default language of the database, used for messages, day and month names, " - "the default sorting mechanism, the default values of NLS_DATE_LANGUAGE and NLS_SORT."; - ObSysVars[150].name_ = "nls_language"; - ObSysVars[150].data_type_ = ObVarcharType; - ObSysVars[150].value_ = "AMERICAN"; - ObSysVars[150].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY; - ObSysVars[150].id_ = SYS_VAR_NLS_LANGUAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_LANGUAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_LANGUAGE] = 150; - ObSysVars[150].alias_ = "OB_SV_NLS_LANGUAGE"; - - ObSysVars[151].info_ = "specifies the name of the territory whose conventions are to be followed for day and week " - "numbering, establishes the default date format, the default decimal character and group " - "separator, and the default ISO and local currency symbols."; - ObSysVars[151].name_ = "nls_territory"; - ObSysVars[151].data_type_ = ObVarcharType; - ObSysVars[151].value_ = "AMERICA"; - ObSysVars[151].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[151].id_ = SYS_VAR_NLS_TERRITORY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_TERRITORY)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_TERRITORY] = 151; - ObSysVars[151].alias_ = "OB_SV_NLS_TERRITORY"; - - ObSysVars[152].info_ = - "specifies the collating sequence for character value comparison in various SQL operators and clauses."; - ObSysVars[152].name_ = "nls_sort"; - ObSysVars[152].data_type_ = ObVarcharType; - ObSysVars[152].value_ = "BINARY"; - ObSysVars[152].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[152].id_ = SYS_VAR_NLS_SORT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_SORT)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_SORT] = 152; - ObSysVars[152].alias_ = "OB_SV_NLS_SORT"; - - ObSysVars[153].info_ = - "specifies the collation behavior of the database session. value can be BINARY | LINGUISTIC | ANSI"; - ObSysVars[153].name_ = "nls_comp"; - ObSysVars[153].data_type_ = ObVarcharType; - ObSysVars[153].value_ = "BINARY"; - ObSysVars[153].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[153].id_ = SYS_VAR_NLS_COMP; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_COMP)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_COMP] = 153; - ObSysVars[153].alias_ = "OB_SV_NLS_COMP"; - - ObSysVars[154].info_ = "specifies the default characterset of the database, This parameter defines the encoding of " - "the data in the CHAR, VARCHAR2, LONG and CLOB columns of a table."; - ObSysVars[154].name_ = "nls_characterset"; - ObSysVars[154].data_type_ = ObVarcharType; - ObSysVars[154].value_ = "AL32UTF8"; - ObSysVars[154].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | - ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::WITH_CREATE | ObSysVarFlag::READONLY; - ObSysVars[154].id_ = SYS_VAR_NLS_CHARACTERSET; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_CHARACTERSET)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_CHARACTERSET] = 154; - ObSysVars[154].alias_ = "OB_SV_NLS_CHARACTERSET"; - - ObSysVars[155].info_ = "specifies the default characterset of the database, This parameter defines the encoding of " - "the data in the NCHAR, NVARCHAR2 and NCLOB columns of a table."; - ObSysVars[155].name_ = "nls_nchar_characterset"; - ObSysVars[155].data_type_ = ObVarcharType; - ObSysVars[155].value_ = "AL32UTF8"; - ObSysVars[155].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[155].id_ = SYS_VAR_NLS_NCHAR_CHARACTERSET; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_NCHAR_CHARACTERSET)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_NCHAR_CHARACTERSET] = 155; - ObSysVars[155].alias_ = "OB_SV_NLS_NCHAR_CHARACTERSET"; - - ObSysVars[156].info_ = "specifies the language to use for the spelling of day and month names and date " - "abbreviations (a.m., p.m., AD, BC) returned by the TO_DATE and TO_CHAR functions."; - ObSysVars[156].name_ = "nls_date_language"; - ObSysVars[156].data_type_ = ObVarcharType; - ObSysVars[156].value_ = "AMERICAN"; - ObSysVars[156].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[156].id_ = SYS_VAR_NLS_DATE_LANGUAGE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_DATE_LANGUAGE)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_DATE_LANGUAGE] = 156; - ObSysVars[156].alias_ = "OB_SV_NLS_DATE_LANGUAGE"; - - ObSysVars[157].info_ = "specifies the default length semantics to use for VARCHAR2 and CHAR table columns, " - "user-defined object attributes, and PL/SQL variables in database objects created in the " - "session. SYS user use BYTE intead of NLS_LENGTH_SEMANTICS."; - ObSysVars[157].name_ = "nls_length_semantics"; - ObSysVars[157].data_type_ = ObVarcharType; - ObSysVars[157].value_ = "BYTE"; - ObSysVars[157].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[157].id_ = SYS_VAR_NLS_LENGTH_SEMANTICS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_LENGTH_SEMANTICS)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_LENGTH_SEMANTICS] = 157; - ObSysVars[157].alias_ = "OB_SV_NLS_LENGTH_SEMANTICS"; - - ObSysVars[158].info_ = "determines whether an error is reported when there is data loss during an implicit or " - "explicit character type conversion between NCHAR/NVARCHAR2 and CHAR/VARCHAR2."; - ObSysVars[158].name_ = "nls_nchar_conv_excp"; - ObSysVars[158].data_type_ = ObVarcharType; - ObSysVars[158].value_ = "FALSE"; - ObSysVars[158].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[158].id_ = SYS_VAR_NLS_NCHAR_CONV_EXCP; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_NCHAR_CONV_EXCP)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_NCHAR_CONV_EXCP] = 158; - ObSysVars[158].alias_ = "OB_SV_NLS_NCHAR_CONV_EXCP"; - - ObSysVars[159].info_ = "specifies which calendar system Oracle uses."; - ObSysVars[159].name_ = "nls_calendar"; - ObSysVars[159].data_type_ = ObVarcharType; - ObSysVars[159].value_ = "GREGORIAN"; - ObSysVars[159].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[159].id_ = SYS_VAR_NLS_CALENDAR; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_CALENDAR)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_CALENDAR] = 159; - ObSysVars[159].alias_ = "OB_SV_NLS_CALENDAR"; - - ObSysVars[160].info_ = "specifies the characters to use as the decimal character and group separator, overrides " - "those characters defined implicitly by NLS_TERRITORY."; - ObSysVars[160].name_ = "nls_numeric_characters"; - ObSysVars[160].data_type_ = ObVarcharType; - ObSysVars[160].value_ = ".,"; - ObSysVars[160].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[160].id_ = SYS_VAR_NLS_NUMERIC_CHARACTERS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_NUMERIC_CHARACTERS)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_NUMERIC_CHARACTERS] = 160; - ObSysVars[160].alias_ = "OB_SV_NLS_NUMERIC_CHARACTERS"; - - ObSysVars[161].info_ = "enable batching of the RHS IO in NLJ"; - ObSysVars[161].name_ = "_nlj_batching_enabled"; - ObSysVars[161].data_type_ = ObIntType; - ObSysVars[161].value_ = "1"; - ObSysVars[161].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[161].id_ = SYS_VAR__NLJ_BATCHING_ENABLED; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__NLJ_BATCHING_ENABLED)); - ObSysVarsIdToArrayIdx[SYS_VAR__NLJ_BATCHING_ENABLED] = 161; - ObSysVars[161].alias_ = "OB_SV__NLJ_BATCHING_ENABLED"; - - ObSysVars[162].info_ = "The name of tracefile."; - ObSysVars[162].name_ = "tracefile_identifier"; - ObSysVars[162].data_type_ = ObVarcharType; - ObSysVars[162].value_ = ""; - ObSysVars[162].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[162].id_ = SYS_VAR_TRACEFILE_IDENTIFIER; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TRACEFILE_IDENTIFIER)); - ObSysVarsIdToArrayIdx[SYS_VAR_TRACEFILE_IDENTIFIER] = 162; - ObSysVars[162].alias_ = "OB_SV_TRACEFILE_IDENTIFIER"; - - ObSysVars[163].info_ = "ratio used to decide whether push down should be done in distribtued query optimization."; - ObSysVars[163].name_ = "_groupby_nopushdown_cut_ratio"; - ObSysVars[163].data_type_ = ObUInt64Type; - ObSysVars[163].value_ = "3"; - ObSysVars[163].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[163].id_ = SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO)); - ObSysVarsIdToArrayIdx[SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO] = 163; - ObSysVars[163].alias_ = "OB_SV__GROUPBY_NOPUSHDOWN_CUT_RATIO"; - - ObSysVars[164].info_ = "set the tq broadcasting fudge factor percentage."; - ObSysVars[164].name_ = "_px_broadcast_fudge_factor"; - ObSysVars[164].data_type_ = ObIntType; - ObSysVars[164].value_ = "100"; - ObSysVars[164].min_val_ = "0"; - ObSysVars[164].max_val_ = "100"; - ObSysVars[164].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[164].id_ = SYS_VAR__PX_BROADCAST_FUDGE_FACTOR; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PX_BROADCAST_FUDGE_FACTOR)); - ObSysVarsIdToArrayIdx[SYS_VAR__PX_BROADCAST_FUDGE_FACTOR] = 164; - ObSysVars[164].alias_ = "OB_SV__PX_BROADCAST_FUDGE_FACTOR"; - - ObSysVars[165].info_ = "statistic primary zone entity(table/tablegroup/database) count under tenant."; - ObSysVars[165].name_ = "_primary_zone_entity_count"; - ObSysVars[165].data_type_ = ObIntType; - ObSysVars[165].value_ = "-1"; - ObSysVars[165].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::INVISIBLE; - ObSysVars[165].id_ = SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT)); - ObSysVarsIdToArrayIdx[SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT] = 165; - ObSysVars[165].alias_ = "OB_SV__PRIMARY_ZONE_ENTITY_COUNT"; - - ObSysVars[166].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_isolation"; - ObSysVars[166].info_ = - "Transaction Isolcation Levels: READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE"; - ObSysVars[166].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation"; - ObSysVars[166].data_type_ = ObVarcharType; - ObSysVars[166].value_ = "READ-COMMITTED"; - ObSysVars[166].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[166].base_class_ = "ObSessionSpecialVarcharSysVar"; - ObSysVars[166].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_isolation"; - ObSysVars[166].id_ = SYS_VAR_TRANSACTION_ISOLATION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TRANSACTION_ISOLATION)); - ObSysVarsIdToArrayIdx[SYS_VAR_TRANSACTION_ISOLATION] = 166; - ObSysVars[166].name_ = "transaction_isolation"; - ObSysVars[166].alias_ = "OB_SV_TRANSACTION_ISOLATION"; - - ObSysVars[167].info_ = "the max duration of waiting on row lock of one transaction"; - ObSysVars[167].name_ = "ob_trx_lock_timeout"; - ObSysVars[167].data_type_ = ObIntType; - ObSysVars[167].value_ = "-1"; - ObSysVars[167].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[167].id_ = SYS_VAR_OB_TRX_LOCK_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRX_LOCK_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRX_LOCK_TIMEOUT] = 167; - ObSysVars[167].alias_ = "OB_SV_TRX_LOCK_TIMEOUT"; - - ObSysVars[168].info_ = ""; - ObSysVars[168].name_ = "validate_password_check_user_name"; - ObSysVars[168].data_type_ = ObIntType; - ObSysVars[168].enum_names_ = "[u'on', u'off']"; - ObSysVars[168].value_ = "0"; - ObSysVars[168].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[168].id_ = SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME)); - ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME] = 168; - ObSysVars[168].alias_ = "OB_SV_VALIDATE_PASSWORD_CHECK_USER_NAME"; - - ObSysVars[169].info_ = ""; - ObSysVars[169].name_ = "validate_password_length"; - ObSysVars[169].data_type_ = ObUInt64Type; - ObSysVars[169].value_ = "0"; - ObSysVars[169].min_val_ = "0"; - ObSysVars[169].max_val_ = "2147483647"; - ObSysVars[169].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[169].id_ = SYS_VAR_VALIDATE_PASSWORD_LENGTH; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_LENGTH)); - ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_LENGTH] = 169; - ObSysVars[169].alias_ = "OB_SV_VALIDATE_PASSWORD_LENGTH"; - - ObSysVars[170].info_ = ""; - ObSysVars[170].name_ = "validate_password_mixed_case_count"; - ObSysVars[170].data_type_ = ObUInt64Type; - ObSysVars[170].value_ = "0"; - ObSysVars[170].min_val_ = "0"; - ObSysVars[170].max_val_ = "2147483647"; - ObSysVars[170].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[170].id_ = SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT)); - ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT] = 170; - ObSysVars[170].alias_ = "OB_SV_VALIDATE_PASSWORD_MIXED_CASE_COUNT"; - - ObSysVars[171].info_ = ""; - ObSysVars[171].name_ = "validate_password_number_count"; - ObSysVars[171].data_type_ = ObUInt64Type; - ObSysVars[171].value_ = "0"; - ObSysVars[171].min_val_ = "0"; - ObSysVars[171].max_val_ = "2147483647"; - ObSysVars[171].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[171].id_ = SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT)); - ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT] = 171; - ObSysVars[171].alias_ = "OB_SV_VALIDATE_PASSWORD_NUMBER_COUNT"; - - ObSysVars[172].info_ = ""; - ObSysVars[172].name_ = "validate_password_policy"; - ObSysVars[172].data_type_ = ObIntType; - ObSysVars[172].enum_names_ = "[u'low', u'medium']"; - ObSysVars[172].value_ = "0"; - ObSysVars[172].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[172].id_ = SYS_VAR_VALIDATE_PASSWORD_POLICY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_POLICY)); - ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_POLICY] = 172; - ObSysVars[172].alias_ = "OB_SV_VALIDATE_PASSWORD_POLICY"; - - ObSysVars[173].info_ = ""; - ObSysVars[173].name_ = "validate_password_special_char_count"; - ObSysVars[173].data_type_ = ObUInt64Type; - ObSysVars[173].value_ = "0"; - ObSysVars[173].min_val_ = "0"; - ObSysVars[173].max_val_ = "2147483647"; - ObSysVars[173].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[173].id_ = SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT)); - ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT] = 173; - ObSysVars[173].alias_ = "OB_SV_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT"; - - ObSysVars[174].info_ = ""; - ObSysVars[174].name_ = "default_password_lifetime"; - ObSysVars[174].data_type_ = ObUInt64Type; - ObSysVars[174].value_ = "0"; - ObSysVars[174].min_val_ = "0"; - ObSysVars[174].max_val_ = "65535"; - ObSysVars[174].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[174].id_ = SYS_VAR_DEFAULT_PASSWORD_LIFETIME; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DEFAULT_PASSWORD_LIFETIME)); - ObSysVarsIdToArrayIdx[SYS_VAR_DEFAULT_PASSWORD_LIFETIME] = 174; - ObSysVars[174].alias_ = "OB_SV_DEFAULT_PASSWORD_LIFETIME"; - - ObSysVars[175].info_ = "store trace info"; - ObSysVars[175].name_ = "ob_trace_info"; - ObSysVars[175].data_type_ = ObVarcharType; - ObSysVars[175].value_ = ""; - ObSysVars[175].flags_ = ObSysVarFlag::SESSION_SCOPE; - ObSysVars[175].id_ = SYS_VAR_OB_TRACE_INFO; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRACE_INFO)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRACE_INFO] = 175; - ObSysVars[175].alias_ = "OB_SV_TRACE_INFO"; - - ObSysVars[176].info_ = "enable use of batched multi statement"; - ObSysVars[176].name_ = "ob_enable_batched_multi_statement"; - ObSysVars[176].data_type_ = ObIntType; - ObSysVars[176].value_ = "0"; - ObSysVars[176].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[176].id_ = SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT] = 176; - ObSysVars[176].alias_ = "OB_SV_ENABLE_BATCHED_MULTI_STATEMENT"; - - ObSysVars[177].info_ = "least number of partitions per slave to start partition-based scan"; - ObSysVars[177].name_ = "_px_partition_scan_threshold"; - ObSysVars[177].data_type_ = ObIntType; - ObSysVars[177].value_ = "64"; - ObSysVars[177].min_val_ = "0"; - ObSysVars[177].max_val_ = "100"; - ObSysVars[177].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[177].id_ = SYS_VAR__PX_PARTITION_SCAN_THRESHOLD; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PX_PARTITION_SCAN_THRESHOLD)); - ObSysVarsIdToArrayIdx[SYS_VAR__PX_PARTITION_SCAN_THRESHOLD] = 177; - ObSysVars[177].alias_ = "OB_SV__PX_PARTITION_SCAN_THRESHOLD"; - - ObSysVars[178].info_ = "broadcast optimization."; - ObSysVars[178].name_ = "_ob_px_bcast_optimization"; - ObSysVars[178].data_type_ = ObIntType; - ObSysVars[178].enum_names_ = "[u'WORKER', u'SERVER']"; - ObSysVars[178].value_ = "1"; - ObSysVars[178].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[178].id_ = SYS_VAR__OB_PX_BCAST_OPTIMIZATION; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_PX_BCAST_OPTIMIZATION)); - ObSysVarsIdToArrayIdx[SYS_VAR__OB_PX_BCAST_OPTIMIZATION] = 178; - ObSysVars[178].alias_ = "OB_SV__OB_PX_BCAST_OPTIMIZATION"; - - ObSysVars[179].info_ = "percentage threshold to use slave mapping plan"; - ObSysVars[179].name_ = "_ob_px_slave_mapping_threshold"; - ObSysVars[179].data_type_ = ObIntType; - ObSysVars[179].value_ = "200"; - ObSysVars[179].min_val_ = "0"; - ObSysVars[179].max_val_ = "1000"; - ObSysVars[179].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN | - ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[179].id_ = SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD)); - ObSysVarsIdToArrayIdx[SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD] = 179; - ObSysVars[179].alias_ = "OB_SV__OB_PX_SLAVE_MAPPING_THRESHOLD"; - - ObSysVars[180].info_ = "A DML statement can be parallelized only if you have explicitly enabled parallel DML in " - "the session or in the SQL statement."; - ObSysVars[180].name_ = "_enable_parallel_dml"; - ObSysVars[180].data_type_ = ObIntType; - ObSysVars[180].value_ = "0"; - ObSysVars[180].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[180].id_ = SYS_VAR__ENABLE_PARALLEL_DML; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__ENABLE_PARALLEL_DML)); - ObSysVarsIdToArrayIdx[SYS_VAR__ENABLE_PARALLEL_DML] = 180; - ObSysVars[180].alias_ = "OB_SV__ENABLE_PARALLEL_DML"; - - ObSysVars[181].info_ = "minimum number of rowid range granules to generate per slave."; - ObSysVars[181].name_ = "_px_min_granules_per_slave"; - ObSysVars[181].data_type_ = ObIntType; - ObSysVars[181].value_ = "13"; - ObSysVars[181].min_val_ = "0"; - ObSysVars[181].max_val_ = "100"; - ObSysVars[181].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[181].id_ = SYS_VAR__PX_MIN_GRANULES_PER_SLAVE; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PX_MIN_GRANULES_PER_SLAVE)); - ObSysVarsIdToArrayIdx[SYS_VAR__PX_MIN_GRANULES_PER_SLAVE] = 181; - ObSysVars[181].alias_ = "OB_SV__PX_MIN_GRANULES_PER_SLAVE"; - - ObSysVars[182].info_ = "limit the effect of data import and export operations"; - ObSysVars[182].name_ = "secure_file_priv"; - ObSysVars[182].data_type_ = ObVarcharType; - ObSysVars[182].value_ = "NULL"; - ObSysVars[182].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NULLABLE; - ObSysVars[182].id_ = SYS_VAR_SECURE_FILE_PRIV; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SECURE_FILE_PRIV)); - ObSysVarsIdToArrayIdx[SYS_VAR_SECURE_FILE_PRIV] = 182; - ObSysVars[182].alias_ = "OB_SV_SECURE_FILE_PRIV"; - - ObSysVars[183].info_ = "enables or disables the reporting of warning messages by the PL/SQL compiler, and " - "specifies which warning messages to show as errors."; - ObSysVars[183].name_ = "plsql_warnings"; - ObSysVars[183].data_type_ = ObVarcharType; - ObSysVars[183].value_ = "ENABLE:ALL"; - ObSysVars[183].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[183].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_plsql_warnings"; - ObSysVars[183].id_ = SYS_VAR_PLSQL_WARNINGS; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PLSQL_WARNINGS)); - ObSysVarsIdToArrayIdx[SYS_VAR_PLSQL_WARNINGS] = 183; - ObSysVars[183].alias_ = "OB_SV_PLSQL_WARNINGS"; - - ObSysVars[184].info_ = "A QUERY statement can be parallelized only if you have explicitly enabled parallel QUERY " - "in the session or in the SQL statement."; - ObSysVars[184].name_ = "_enable_parallel_query"; - ObSysVars[184].data_type_ = ObIntType; - ObSysVars[184].value_ = "1"; - ObSysVars[184].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[184].id_ = SYS_VAR__ENABLE_PARALLEL_QUERY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__ENABLE_PARALLEL_QUERY)); - ObSysVarsIdToArrayIdx[SYS_VAR__ENABLE_PARALLEL_QUERY] = 184; - ObSysVars[184].alias_ = "OB_SV__ENABLE_PARALLEL_QUERY"; - - ObSysVars[185].info_ = "A QUERY statement can be parallelized only if you have explicitly enabled parallel QUERY " - "in the session or in the SQL statement."; - ObSysVars[185].name_ = "_force_parallel_query_dop"; - ObSysVars[185].data_type_ = ObUInt64Type; - ObSysVars[185].value_ = "1"; - ObSysVars[185].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[185].id_ = SYS_VAR__FORCE_PARALLEL_QUERY_DOP; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__FORCE_PARALLEL_QUERY_DOP)); - ObSysVarsIdToArrayIdx[SYS_VAR__FORCE_PARALLEL_QUERY_DOP] = 185; - ObSysVars[185].alias_ = "OB_SV__FORCE_PARALLEL_QUERY_DOP"; - - ObSysVars[186].info_ = "A QUERY statement can be parallelized only if you have explicitly enabled parallel QUERY " - "in the session or in the SQL statement."; - ObSysVars[186].name_ = "_force_parallel_dml_dop"; - ObSysVars[186].data_type_ = ObUInt64Type; - ObSysVars[186].value_ = "1"; - ObSysVars[186].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | - ObSysVarFlag::INFLUENCE_PLAN; - ObSysVars[186].id_ = SYS_VAR__FORCE_PARALLEL_DML_DOP; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__FORCE_PARALLEL_DML_DOP)); - ObSysVarsIdToArrayIdx[SYS_VAR__FORCE_PARALLEL_DML_DOP] = 186; - ObSysVars[186].alias_ = "OB_SV__FORCE_PARALLEL_DML_DOP"; - - ObSysVars[187].info_ = "PL/SQL timeout in microsecond(us)"; - ObSysVars[187].name_ = "ob_pl_block_timeout"; - ObSysVars[187].data_type_ = ObIntType; - ObSysVars[187].value_ = "3216672000000000"; - ObSysVars[187].min_val_ = "0"; - ObSysVars[187].max_val_ = "9223372036854775807"; - ObSysVars[187].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[187].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large"; - ObSysVars[187].id_ = SYS_VAR_OB_PL_BLOCK_TIMEOUT; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PL_BLOCK_TIMEOUT)); - ObSysVarsIdToArrayIdx[SYS_VAR_OB_PL_BLOCK_TIMEOUT] = 187; - ObSysVars[187].alias_ = "OB_SV_PL_BLOCK_TIMEOUT"; - - ObSysVars[188].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope"; - ObSysVars[188].info_ = "Transaction access mode"; - ObSysVars[188].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only"; - ObSysVars[188].data_type_ = ObIntType; - ObSysVars[188].value_ = "0"; - ObSysVars[188].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE; - ObSysVars[188].base_class_ = "ObSessionSpecialBoolSysVar"; - ObSysVars[188].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_read_only"; - ObSysVars[188].id_ = SYS_VAR_TRANSACTION_READ_ONLY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TRANSACTION_READ_ONLY)); - ObSysVarsIdToArrayIdx[SYS_VAR_TRANSACTION_READ_ONLY] = 188; - ObSysVars[188].name_ = "transaction_read_only"; - ObSysVars[188].alias_ = "OB_SV_TRANSACTION_READ_ONLY"; - - ObSysVars[189].info_ = "specifies tenant resource plan."; - ObSysVars[189].name_ = "resource_manager_plan"; - ObSysVars[189].data_type_ = ObVarcharType; - ObSysVars[189].value_ = ""; - ObSysVars[189].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[189].id_ = SYS_VAR_RESOURCE_MANAGER_PLAN; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_RESOURCE_MANAGER_PLAN)); - ObSysVarsIdToArrayIdx[SYS_VAR_RESOURCE_MANAGER_PLAN] = 189; - ObSysVars[189].alias_ = "OB_SV_RESOURCE_MANAGER_PLAN"; - - ObSysVars[190].info_ = "indicate whether the Performance Schema is enabled"; - ObSysVars[190].name_ = "performance_schema"; - ObSysVars[190].data_type_ = ObIntType; - ObSysVars[190].value_ = "0"; - ObSysVars[190].flags_ = ObSysVarFlag::GLOBAL_SCOPE; - ObSysVars[190].id_ = SYS_VAR_PERFORMANCE_SCHEMA; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PERFORMANCE_SCHEMA)); - ObSysVarsIdToArrayIdx[SYS_VAR_PERFORMANCE_SCHEMA] = 190; - ObSysVars[190].alias_ = "OB_SV_PERFORMANCE_SCHEMA"; - - ObSysVars[191].info_ = "specifies the string to use as the local currency symbol for the L number format element. " - "The default value of this parameter is determined by NLS_TERRITORY."; - ObSysVars[191].name_ = "nls_currency"; - ObSysVars[191].data_type_ = ObVarcharType; - ObSysVars[191].value_ = "$"; - ObSysVars[191].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[191].id_ = SYS_VAR_NLS_CURRENCY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_CURRENCY)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_CURRENCY] = 191; - ObSysVars[191].alias_ = "OB_SV_NLS_CURRENCY"; - - ObSysVars[192].info_ = "specifies the string to use as the international currency symbol for the C number format " - "element. The default value of this parameter is determined by NLS_TERRITORY"; - ObSysVars[192].name_ = "nls_iso_currency"; - ObSysVars[192].data_type_ = ObVarcharType; - ObSysVars[192].value_ = "AMERICA"; - ObSysVars[192].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[192].id_ = SYS_VAR_NLS_ISO_CURRENCY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_ISO_CURRENCY)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_ISO_CURRENCY] = 192; - ObSysVars[192].alias_ = "OB_SV_NLS_ISO_CURRENCY"; - - ObSysVars[193].info_ = "specifies the dual currency symbol for the territory. The default is the dual currency " - "symbol defined in the territory of your current language environment."; - ObSysVars[193].name_ = "nls_dual_currency"; - ObSysVars[193].data_type_ = ObVarcharType; - ObSysVars[193].value_ = "$"; - ObSysVars[193].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | - ObSysVarFlag::ORACLE_ONLY; - ObSysVars[193].id_ = SYS_VAR_NLS_DUAL_CURRENCY; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_DUAL_CURRENCY)); - ObSysVarsIdToArrayIdx[SYS_VAR_NLS_DUAL_CURRENCY] = 193; - ObSysVars[193].alias_ = "OB_SV_NLS_DUAL_CURRENCY"; - - ObSysVars[194].info_ = "this value is true if we have executed set transaction stmt, until a transaction " - "commit(explicit or implicit) successfully"; - ObSysVars[194].name_ = "_ob_proxy_session_temporary_table_used"; - ObSysVars[194].data_type_ = ObIntType; - ObSysVars[194].value_ = "0"; - ObSysVars[194].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE; - ObSysVars[194].id_ = SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED; - cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED)); - ObSysVarsIdToArrayIdx[SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED] = 194; - ObSysVars[194].alias_ = "OB_SV__OB_PROXY_SESSION_TEMPORARY_TABLE_USED"; - - if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) { + ObSysVars[0].info_ = "" ; + ObSysVars[0].name_ = "auto_increment_increment" ; + ObSysVars[0].data_type_ = ObUInt64Type ; + ObSysVars[0].value_ = "1" ; + ObSysVars[0].min_val_ = "1" ; + ObSysVars[0].max_val_ = "65535" ; + ObSysVars[0].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[0].id_ = SYS_VAR_AUTO_INCREMENT_INCREMENT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTO_INCREMENT_INCREMENT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_AUTO_INCREMENT_INCREMENT] = 0 ; + ObSysVars[0].alias_ = "OB_SV_AUTO_INCREMENT_INCREMENT" ; + + ObSysVars[1].info_ = "" ; + ObSysVars[1].name_ = "auto_increment_offset" ; + ObSysVars[1].data_type_ = ObUInt64Type ; + ObSysVars[1].value_ = "1" ; + ObSysVars[1].min_val_ = "1" ; + ObSysVars[1].max_val_ = "65535" ; + ObSysVars[1].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[1].id_ = SYS_VAR_AUTO_INCREMENT_OFFSET ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTO_INCREMENT_OFFSET)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_AUTO_INCREMENT_OFFSET] = 1 ; + ObSysVars[1].alias_ = "OB_SV_AUTO_INCREMENT_OFFSET" ; + + ObSysVars[2].info_ = "" ; + ObSysVars[2].name_ = "autocommit" ; + ObSysVars[2].data_type_ = ObIntType ; + ObSysVars[2].value_ = "1" ; + ObSysVars[2].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[2].id_ = SYS_VAR_AUTOCOMMIT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTOCOMMIT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_AUTOCOMMIT] = 2 ; + ObSysVars[2].alias_ = "OB_SV_AUTOCOMMIT" ; + + ObSysVars[3].info_ = "The character set in which statements are sent by the client" ; + ObSysVars[3].base_class_ = "ObCharsetSysVar" ; + ObSysVars[3].name_ = "character_set_client" ; + ObSysVars[3].data_type_ = ObIntType ; + ObSysVars[3].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[3].value_ = "45" ; + ObSysVars[3].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[3].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[3].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null" ; + ObSysVars[3].id_ = SYS_VAR_CHARACTER_SET_CLIENT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_CLIENT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_CLIENT] = 3 ; + ObSysVars[3].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[3].alias_ = "OB_SV_CHARACTER_SET_CLIENT" ; + + ObSysVars[4].info_ = "The character set which should be translated to after receiving the statement" ; + ObSysVars[4].base_class_ = "ObCharsetSysVar" ; + ObSysVars[4].name_ = "character_set_connection" ; + ObSysVars[4].data_type_ = ObIntType ; + ObSysVars[4].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[4].value_ = "45" ; + ObSysVars[4].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::NULLABLE ; + ObSysVars[4].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[4].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null" ; + ObSysVars[4].id_ = SYS_VAR_CHARACTER_SET_CONNECTION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_CONNECTION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_CONNECTION] = 4 ; + ObSysVars[4].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[4].alias_ = "OB_SV_CHARACTER_SET_CONNECTION" ; + + ObSysVars[5].info_ = "The character set of the default database" ; + ObSysVars[5].base_class_ = "ObCharsetSysVar" ; + ObSysVars[5].name_ = "character_set_database" ; + ObSysVars[5].data_type_ = ObIntType ; + ObSysVars[5].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[5].value_ = "45" ; + ObSysVars[5].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[5].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[5].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null" ; + ObSysVars[5].id_ = SYS_VAR_CHARACTER_SET_DATABASE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_DATABASE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_DATABASE] = 5 ; + ObSysVars[5].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[5].alias_ = "OB_SV_CHARACTER_SET_DATABASE" ; + + ObSysVars[6].info_ = "The character set which server should translate to before shipping result sets or error message back to the client" ; + ObSysVars[6].base_class_ = "ObCharsetSysVar" ; + ObSysVars[6].name_ = "character_set_results" ; + ObSysVars[6].data_type_ = ObIntType ; + ObSysVars[6].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[6].value_ = "45" ; + ObSysVars[6].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE ; + ObSysVars[6].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[6].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset" ; + ObSysVars[6].id_ = SYS_VAR_CHARACTER_SET_RESULTS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_RESULTS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_RESULTS] = 6 ; + ObSysVars[6].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[6].alias_ = "OB_SV_CHARACTER_SET_RESULTS" ; + + ObSysVars[7].info_ = "The server character set" ; + ObSysVars[7].base_class_ = "ObCharsetSysVar" ; + ObSysVars[7].name_ = "character_set_server" ; + ObSysVars[7].data_type_ = ObIntType ; + ObSysVars[7].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[7].value_ = "45" ; + ObSysVars[7].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[7].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[7].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null" ; + ObSysVars[7].id_ = SYS_VAR_CHARACTER_SET_SERVER ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_SERVER)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_SERVER] = 7 ; + ObSysVars[7].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[7].alias_ = "OB_SV_CHARACTER_SET_SERVER" ; + + ObSysVars[8].info_ = "The character set used by the server for storing identifiers." ; + ObSysVars[8].base_class_ = "ObCharsetSysVar" ; + ObSysVars[8].name_ = "character_set_system" ; + ObSysVars[8].data_type_ = ObIntType ; + ObSysVars[8].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[8].value_ = "45" ; + ObSysVars[8].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::READONLY ; + ObSysVars[8].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[8].id_ = SYS_VAR_CHARACTER_SET_SYSTEM ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_SYSTEM)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_SYSTEM] = 8 ; + ObSysVars[8].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[8].alias_ = "OB_SV_CHARACTER_SET_SYSTEM" ; + + ObSysVars[9].info_ = "The collation which the server should translate to after receiving the statement" ; + ObSysVars[9].base_class_ = "ObCharsetSysVar" ; + ObSysVars[9].name_ = "collation_connection" ; + ObSysVars[9].data_type_ = ObIntType ; + ObSysVars[9].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_collation" ; + ObSysVars[9].value_ = "45" ; + ObSysVars[9].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[9].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_collation" ; + ObSysVars[9].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_collation_not_null" ; + ObSysVars[9].id_ = SYS_VAR_COLLATION_CONNECTION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_COLLATION_CONNECTION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_COLLATION_CONNECTION] = 9 ; + ObSysVars[9].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[9].alias_ = "OB_SV_COLLATION_CONNECTION" ; + + ObSysVars[10].info_ = "The collation of the default database" ; + ObSysVars[10].base_class_ = "ObCharsetSysVar" ; + ObSysVars[10].name_ = "collation_database" ; + ObSysVars[10].data_type_ = ObIntType ; + ObSysVars[10].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_collation" ; + ObSysVars[10].value_ = "45" ; + ObSysVars[10].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[10].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_collation" ; + ObSysVars[10].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_collation_not_null" ; + ObSysVars[10].id_ = SYS_VAR_COLLATION_DATABASE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_COLLATION_DATABASE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_COLLATION_DATABASE] = 10 ; + ObSysVars[10].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[10].alias_ = "OB_SV_COLLATION_DATABASE" ; + + ObSysVars[11].info_ = "The server collation" ; + ObSysVars[11].base_class_ = "ObCharsetSysVar" ; + ObSysVars[11].name_ = "collation_server" ; + ObSysVars[11].data_type_ = ObIntType ; + ObSysVars[11].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_collation" ; + ObSysVars[11].value_ = "45" ; + ObSysVars[11].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[11].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_collation" ; + ObSysVars[11].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_collation_not_null" ; + ObSysVars[11].id_ = SYS_VAR_COLLATION_SERVER ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_COLLATION_SERVER)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_COLLATION_SERVER] = 11 ; + ObSysVars[11].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[11].alias_ = "OB_SV_COLLATION_SERVER" ; + + ObSysVars[12].info_ = "The number of seconds the server waits for activity on an interactive connection before closing it." ; + ObSysVars[12].name_ = "interactive_timeout" ; + ObSysVars[12].data_type_ = ObIntType ; + ObSysVars[12].value_ = "28800" ; + ObSysVars[12].min_val_ = "1" ; + ObSysVars[12].max_val_ = "31536000" ; + ObSysVars[12].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[12].id_ = SYS_VAR_INTERACTIVE_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_INTERACTIVE_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_INTERACTIVE_TIMEOUT] = 12 ; + ObSysVars[12].alias_ = "OB_SV_INTERACTIVE_TIMEOUT" ; + + ObSysVars[13].info_ = "" ; + ObSysVars[13].base_class_ = "ObSessionSpecialIntSysVar" ; + ObSysVars[13].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_last_insert_id" ; + ObSysVars[13].name_ = "last_insert_id" ; + ObSysVars[13].data_type_ = ObUInt64Type ; + ObSysVars[13].value_ = "0" ; + ObSysVars[13].min_val_ = "0" ; + ObSysVars[13].max_val_ = "18446744073709551615" ; + ObSysVars[13].flags_ = ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[13].id_ = SYS_VAR_LAST_INSERT_ID ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LAST_INSERT_ID)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LAST_INSERT_ID] = 13 ; + ObSysVars[13].alias_ = "OB_SV_LAST_INSERT_ID" ; + + ObSysVars[14].info_ = "Max packet length to send to or receive from the server" ; + ObSysVars[14].name_ = "max_allowed_packet" ; + ObSysVars[14].data_type_ = ObIntType ; + ObSysVars[14].value_ = "4194304" ; + ObSysVars[14].min_val_ = "1024" ; + ObSysVars[14].max_val_ = "1073741824" ; + ObSysVars[14].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::SESSION_READONLY | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[14].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_max_allowed_packet" ; + ObSysVars[14].id_ = SYS_VAR_MAX_ALLOWED_PACKET ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_ALLOWED_PACKET)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_MAX_ALLOWED_PACKET] = 14 ; + ObSysVars[14].alias_ = "OB_SV_MAX_ALLOWED_PACKET" ; + + ObSysVars[15].on_update_func_ = "ObSysVarOnUpdateFuncs::update_sql_mode" ; + ObSysVars[15].info_ = "" ; + ObSysVars[15].name_ = "sql_mode" ; + ObSysVars[15].data_type_ = ObUInt64Type ; + ObSysVars[15].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_sql_mode" ; + ObSysVars[15].value_ = "4194304" ; + ObSysVars[15].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[15].base_class_ = "ObSqlModeVar" ; + ObSysVars[15].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_sql_mode" ; + ObSysVars[15].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_sql_mode" ; + ObSysVars[15].id_ = SYS_VAR_SQL_MODE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_MODE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_MODE] = 15 ; + ObSysVars[15].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[15].alias_ = "OB_SV_SQL_MODE" ; + + ObSysVars[16].info_ = "" ; + ObSysVars[16].base_class_ = "ObTimeZoneSysVar" ; + ObSysVars[16].name_ = "time_zone" ; + ObSysVars[16].data_type_ = ObVarcharType ; + ObSysVars[16].value_ = "+8:00" ; + ObSysVars[16].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[16].id_ = SYS_VAR_TIME_ZONE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TIME_ZONE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TIME_ZONE] = 16 ; + ObSysVars[16].alias_ = "OB_SV_TIME_ZONE" ; + + ObSysVars[17].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_isolation" ; + ObSysVars[17].info_ = "Transaction Isolcation Levels: READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE" ; + ObSysVars[17].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation" ; + ObSysVars[17].data_type_ = ObVarcharType ; + ObSysVars[17].value_ = "READ-COMMITTED" ; + ObSysVars[17].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[17].base_class_ = "ObSessionSpecialVarcharSysVar" ; + ObSysVars[17].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_isolation" ; + ObSysVars[17].id_ = SYS_VAR_TX_ISOLATION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TX_ISOLATION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TX_ISOLATION] = 17 ; + ObSysVars[17].name_ = "tx_isolation" ; + ObSysVars[17].alias_ = "OB_SV_TX_ISOLATION" ; + + ObSysVars[18].info_ = "" ; + ObSysVars[18].name_ = "version_comment" ; + ObSysVars[18].data_type_ = ObVarcharType ; + ObSysVars[18].value_ = "OceanBase 1.0.0" ; + ObSysVars[18].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[18].id_ = SYS_VAR_VERSION_COMMENT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION_COMMENT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VERSION_COMMENT] = 18 ; + ObSysVars[18].alias_ = "OB_SV_VERSION_COMMENT" ; + + ObSysVars[19].info_ = "The number of seconds the server waits for activity on a noninteractive connection before closing it." ; + ObSysVars[19].name_ = "wait_timeout" ; + ObSysVars[19].data_type_ = ObIntType ; + ObSysVars[19].value_ = "28800" ; + ObSysVars[19].min_val_ = "1" ; + ObSysVars[19].max_val_ = "31536000" ; + ObSysVars[19].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[19].id_ = SYS_VAR_WAIT_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_WAIT_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_WAIT_TIMEOUT] = 19 ; + ObSysVars[19].alias_ = "OB_SV_WAIT_TIMEOUT" ; + + ObSysVars[20].info_ = "control row cells to logged" ; + ObSysVars[20].name_ = "binlog_row_image" ; + ObSysVars[20].data_type_ = ObIntType ; + ObSysVars[20].enum_names_ = "[u'MINIMAL', u'NOBLOB', u'FULL']" ; + ObSysVars[20].value_ = "2" ; + ObSysVars[20].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[20].id_ = SYS_VAR_BINLOG_ROW_IMAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_BINLOG_ROW_IMAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_BINLOG_ROW_IMAGE] = 20 ; + ObSysVars[20].alias_ = "OB_SV_BINLOG_ROW_IMAGE" ; + + ObSysVars[21].info_ = "" ; + ObSysVars[21].base_class_ = "ObCharsetSysVar" ; + ObSysVars[21].name_ = "character_set_filesystem" ; + ObSysVars[21].data_type_ = ObIntType ; + ObSysVars[21].to_show_str_func_ = "ObSysVarToStrFuncs::to_str_charset" ; + ObSysVars[21].value_ = "63" ; + ObSysVars[21].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NULLABLE ; + ObSysVars[21].to_select_obj_func_ = "ObSysVarToObjFuncs::to_obj_charset" ; + ObSysVars[21].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_charset_not_null" ; + ObSysVars[21].id_ = SYS_VAR_CHARACTER_SET_FILESYSTEM ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CHARACTER_SET_FILESYSTEM)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CHARACTER_SET_FILESYSTEM] = 21 ; + ObSysVars[21].get_meta_type_func_ = "ObSysVarGetMetaTypeFuncs::get_meta_type_varchar" ; + ObSysVars[21].alias_ = "OB_SV_CHARACTER_SET_FILESYSTEM" ; + + ObSysVars[22].info_ = "" ; + ObSysVars[22].name_ = "connect_timeout" ; + ObSysVars[22].data_type_ = ObIntType ; + ObSysVars[22].value_ = "10" ; + ObSysVars[22].min_val_ = "2" ; + ObSysVars[22].max_val_ = "31536000" ; + ObSysVars[22].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[22].id_ = SYS_VAR_CONNECT_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CONNECT_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CONNECT_TIMEOUT] = 22 ; + ObSysVars[22].alias_ = "OB_SV_CONNECT_TIMEOUT" ; + + ObSysVars[23].info_ = "" ; + ObSysVars[23].name_ = "datadir" ; + ObSysVars[23].data_type_ = ObVarcharType ; + ObSysVars[23].value_ = "/usr/local/mysql/data/" ; + ObSysVars[23].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[23].id_ = SYS_VAR_DATADIR ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DATADIR)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_DATADIR] = 23 ; + ObSysVars[23].alias_ = "OB_SV_DATADIR" ; + + ObSysVars[24].info_ = "Debug sync facility" ; + ObSysVars[24].name_ = "debug_sync" ; + ObSysVars[24].data_type_ = ObVarcharType ; + ObSysVars[24].value_ = "" ; + ObSysVars[24].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[24].id_ = SYS_VAR_DEBUG_SYNC ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DEBUG_SYNC)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_DEBUG_SYNC] = 24 ; + ObSysVars[24].alias_ = "OB_SV_DEBUG_SYNC" ; + + ObSysVars[25].info_ = "" ; + ObSysVars[25].name_ = "div_precision_increment" ; + ObSysVars[25].data_type_ = ObIntType ; + ObSysVars[25].value_ = "4" ; + ObSysVars[25].min_val_ = "0" ; + ObSysVars[25].max_val_ = "30" ; + ObSysVars[25].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[25].id_ = SYS_VAR_DIV_PRECISION_INCREMENT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DIV_PRECISION_INCREMENT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_DIV_PRECISION_INCREMENT] = 25 ; + ObSysVars[25].alias_ = "OB_SV_DIV_PRECISION_INCREMENT" ; + + ObSysVars[26].info_ = "whether use traditional mode for timestamp" ; + ObSysVars[26].name_ = "explicit_defaults_for_timestamp" ; + ObSysVars[26].data_type_ = ObIntType ; + ObSysVars[26].value_ = "1" ; + ObSysVars[26].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[26].id_ = SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_EXPLICIT_DEFAULTS_FOR_TIMESTAMP] = 26 ; + ObSysVars[26].alias_ = "OB_SV_EXPLICIT_DEFAULTS_FOR_TIMESTAMP" ; + + ObSysVars[27].info_ = "" ; + ObSysVars[27].name_ = "group_concat_max_len" ; + ObSysVars[27].data_type_ = ObUInt64Type ; + ObSysVars[27].value_ = "1024" ; + ObSysVars[27].min_val_ = "4" ; + ObSysVars[27].max_val_ = "18446744073709551615" ; + ObSysVars[27].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[27].id_ = SYS_VAR_GROUP_CONCAT_MAX_LEN ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_GROUP_CONCAT_MAX_LEN)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_GROUP_CONCAT_MAX_LEN] = 27 ; + ObSysVars[27].alias_ = "OB_SV_GROUP_CONCAT_MAX_LEN" ; + + ObSysVars[28].info_ = "" ; + ObSysVars[28].base_class_ = "ObSessionSpecialIntSysVar" ; + ObSysVars[28].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_identity" ; + ObSysVars[28].name_ = "identity" ; + ObSysVars[28].data_type_ = ObUInt64Type ; + ObSysVars[28].value_ = "0" ; + ObSysVars[28].min_val_ = "0" ; + ObSysVars[28].max_val_ = "18446744073709551615" ; + ObSysVars[28].flags_ = ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[28].id_ = SYS_VAR_IDENTITY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_IDENTITY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_IDENTITY] = 28 ; + ObSysVars[28].alias_ = "OB_SV_IDENTITY" ; + + ObSysVars[29].info_ = "how table database names are stored and compared, 0 means stored using the lettercase in the CREATE_TABLE or CREATE_DATABASE statement. Name comparisons are case sensitive; 1 means that table and database names are stored in lowercase abd name comparisons are not case sensitive." ; + ObSysVars[29].name_ = "lower_case_table_names" ; + ObSysVars[29].data_type_ = ObIntType ; + ObSysVars[29].value_ = "1" ; + ObSysVars[29].min_val_ = "0" ; + ObSysVars[29].max_val_ = "2" ; + ObSysVars[29].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[29].id_ = SYS_VAR_LOWER_CASE_TABLE_NAMES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LOWER_CASE_TABLE_NAMES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LOWER_CASE_TABLE_NAMES] = 29 ; + ObSysVars[29].alias_ = "OB_SV_LOWER_CASE_TABLE_NAMES" ; + + ObSysVars[30].info_ = "" ; + ObSysVars[30].name_ = "net_read_timeout" ; + ObSysVars[30].data_type_ = ObIntType ; + ObSysVars[30].value_ = "30" ; + ObSysVars[30].min_val_ = "1" ; + ObSysVars[30].max_val_ = "31536000" ; + ObSysVars[30].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[30].id_ = SYS_VAR_NET_READ_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NET_READ_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NET_READ_TIMEOUT] = 30 ; + ObSysVars[30].alias_ = "OB_SV_NET_READ_TIMEOUT" ; + + ObSysVars[31].info_ = "" ; + ObSysVars[31].name_ = "net_write_timeout" ; + ObSysVars[31].data_type_ = ObIntType ; + ObSysVars[31].value_ = "60" ; + ObSysVars[31].min_val_ = "1" ; + ObSysVars[31].max_val_ = "31536000" ; + ObSysVars[31].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[31].id_ = SYS_VAR_NET_WRITE_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NET_WRITE_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NET_WRITE_TIMEOUT] = 31 ; + ObSysVars[31].alias_ = "OB_SV_NET_WRITE_TIMEOUT" ; + + ObSysVars[32].info_ = "" ; + ObSysVars[32].name_ = "read_only" ; + ObSysVars[32].data_type_ = ObIntType ; + ObSysVars[32].value_ = "0" ; + ObSysVars[32].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[32].id_ = SYS_VAR_READ_ONLY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_READ_ONLY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_READ_ONLY] = 32 ; + ObSysVars[32].alias_ = "OB_SV_READ_ONLY" ; + + ObSysVars[33].info_ = "" ; + ObSysVars[33].name_ = "sql_auto_is_null" ; + ObSysVars[33].data_type_ = ObIntType ; + ObSysVars[33].value_ = "0" ; + ObSysVars[33].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[33].id_ = SYS_VAR_SQL_AUTO_IS_NULL ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_AUTO_IS_NULL)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_AUTO_IS_NULL] = 33 ; + ObSysVars[33].alias_ = "OB_SV_SQL_AUTO_IS_NULL" ; + + ObSysVars[34].info_ = "" ; + ObSysVars[34].name_ = "sql_select_limit" ; + ObSysVars[34].data_type_ = ObIntType ; + ObSysVars[34].value_ = "9223372036854775807" ; + ObSysVars[34].min_val_ = "0" ; + ObSysVars[34].max_val_ = "9223372036854775807" ; + ObSysVars[34].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[34].id_ = SYS_VAR_SQL_SELECT_LIMIT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_SELECT_LIMIT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_SELECT_LIMIT] = 34 ; + ObSysVars[34].alias_ = "OB_SV_SQL_SELECT_LIMIT" ; + + ObSysVars[35].info_ = "" ; + ObSysVars[35].name_ = "timestamp" ; + ObSysVars[35].data_type_ = ObNumberType ; + ObSysVars[35].value_ = "0" ; + ObSysVars[35].min_val_ = "0" ; + ObSysVars[35].flags_ = ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[35].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_max_min_timestamp" ; + ObSysVars[35].id_ = SYS_VAR_TIMESTAMP ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TIMESTAMP)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TIMESTAMP] = 35 ; + ObSysVars[35].alias_ = "OB_SV_TIMESTAMP" ; + + ObSysVars[36].info_ = "" ; + ObSysVars[36].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope" ; + ObSysVars[36].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only" ; + ObSysVars[36].name_ = "tx_read_only" ; + ObSysVars[36].data_type_ = ObIntType ; + ObSysVars[36].value_ = "0" ; + ObSysVars[36].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[36].base_class_ = "ObSessionSpecialBoolSysVar" ; + ObSysVars[36].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_read_only" ; + ObSysVars[36].id_ = SYS_VAR_TX_READ_ONLY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TX_READ_ONLY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TX_READ_ONLY] = 36 ; + ObSysVars[36].alias_ = "OB_SV_TX_READ_ONLY" ; + + ObSysVars[37].info_ = "" ; + ObSysVars[37].name_ = "version" ; + ObSysVars[37].data_type_ = ObVarcharType ; + ObSysVars[37].value_ = "5.6.25" ; + ObSysVars[37].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[37].id_ = SYS_VAR_VERSION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VERSION] = 37 ; + ObSysVars[37].alias_ = "OB_SV_VERSION" ; + + ObSysVars[38].info_ = "" ; + ObSysVars[38].name_ = "sql_warnings" ; + ObSysVars[38].data_type_ = ObIntType ; + ObSysVars[38].value_ = "0" ; + ObSysVars[38].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[38].id_ = SYS_VAR_SQL_WARNINGS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_WARNINGS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_WARNINGS] = 38 ; + ObSysVars[38].alias_ = "OB_SV_SQL_WARNINGS" ; + + ObSysVars[39].info_ = "" ; + ObSysVars[39].name_ = "max_user_connections" ; + ObSysVars[39].data_type_ = ObUInt64Type ; + ObSysVars[39].value_ = "0" ; + ObSysVars[39].min_val_ = "0" ; + ObSysVars[39].max_val_ = "4294967295" ; + ObSysVars[39].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::SESSION_READONLY ; + ObSysVars[39].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_max_user_connections" ; + ObSysVars[39].id_ = SYS_VAR_MAX_USER_CONNECTIONS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_USER_CONNECTIONS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_MAX_USER_CONNECTIONS] = 39 ; + ObSysVars[39].alias_ = "OB_SV_MAX_USER_CONNECTIONS" ; + + ObSysVars[40].info_ = "" ; + ObSysVars[40].name_ = "init_connect" ; + ObSysVars[40].data_type_ = ObVarcharType ; + ObSysVars[40].value_ = "" ; + ObSysVars[40].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[40].id_ = SYS_VAR_INIT_CONNECT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_INIT_CONNECT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_INIT_CONNECT] = 40 ; + ObSysVars[40].alias_ = "OB_SV_INIT_CONNECT" ; + + ObSysVars[41].info_ = "" ; + ObSysVars[41].name_ = "license" ; + ObSysVars[41].data_type_ = ObVarcharType ; + ObSysVars[41].value_ = "" ; + ObSysVars[41].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[41].id_ = SYS_VAR_LICENSE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LICENSE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LICENSE] = 41 ; + ObSysVars[41].alias_ = "OB_SV_LICENSE" ; + + ObSysVars[42].info_ = "Buffer length for TCP/IP and socket communication" ; + ObSysVars[42].name_ = "net_buffer_length" ; + ObSysVars[42].data_type_ = ObIntType ; + ObSysVars[42].value_ = "16384" ; + ObSysVars[42].min_val_ = "1024" ; + ObSysVars[42].max_val_ = "1048576" ; + ObSysVars[42].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::SESSION_READONLY ; + ObSysVars[42].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_net_buffer_length" ; + ObSysVars[42].id_ = SYS_VAR_NET_BUFFER_LENGTH ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NET_BUFFER_LENGTH)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NET_BUFFER_LENGTH] = 42 ; + ObSysVars[42].alias_ = "OB_SV_NET_BUFFER_LENGTH" ; + + ObSysVars[43].info_ = "The server system time zone" ; + ObSysVars[43].name_ = "system_time_zone" ; + ObSysVars[43].data_type_ = ObVarcharType ; + ObSysVars[43].value_ = "CST" ; + ObSysVars[43].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[43].id_ = SYS_VAR_SYSTEM_TIME_ZONE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SYSTEM_TIME_ZONE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SYSTEM_TIME_ZONE] = 43 ; + ObSysVars[43].alias_ = "OB_SV_SYSTEM_TIME_ZONE" ; + + ObSysVars[44].info_ = "The memory allocated to store results from old queries(not used yet)" ; + ObSysVars[44].name_ = "query_cache_size" ; + ObSysVars[44].data_type_ = ObUInt64Type ; + ObSysVars[44].value_ = "1048576" ; + ObSysVars[44].min_val_ = "0" ; + ObSysVars[44].max_val_ = "18446744073709551615" ; + ObSysVars[44].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[44].id_ = SYS_VAR_QUERY_CACHE_SIZE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_QUERY_CACHE_SIZE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_QUERY_CACHE_SIZE] = 44 ; + ObSysVars[44].alias_ = "OB_SV_QUERY_CACHE_SIZE" ; + + ObSysVars[45].info_ = "OFF = Do not cache or retrieve results. ON = Cache all results except SELECT SQL_NO_CACHE ... queries. DEMAND = Cache only SELECT SQL_CACHE ... queries(not used yet)" ; + ObSysVars[45].name_ = "query_cache_type" ; + ObSysVars[45].data_type_ = ObIntType ; + ObSysVars[45].enum_names_ = "[u'OFF', u'ON', u'DEMAND']" ; + ObSysVars[45].value_ = "0" ; + ObSysVars[45].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[45].id_ = SYS_VAR_QUERY_CACHE_TYPE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_QUERY_CACHE_TYPE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_QUERY_CACHE_TYPE] = 45 ; + ObSysVars[45].alias_ = "OB_SV_QUERY_CACHE_TYPE" ; + + ObSysVars[46].info_ = "" ; + ObSysVars[46].name_ = "sql_quote_show_create" ; + ObSysVars[46].data_type_ = ObIntType ; + ObSysVars[46].value_ = "1" ; + ObSysVars[46].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[46].id_ = SYS_VAR_SQL_QUOTE_SHOW_CREATE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_QUOTE_SHOW_CREATE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_QUOTE_SHOW_CREATE] = 46 ; + ObSysVars[46].alias_ = "OB_SV_SQL_QUOTE_SHOW_CREATE" ; + + ObSysVars[47].info_ = "The number of times that any given stored procedure may be called recursively." ; + ObSysVars[47].name_ = "max_sp_recursion_depth" ; + ObSysVars[47].data_type_ = ObIntType ; + ObSysVars[47].value_ = "0" ; + ObSysVars[47].min_val_ = "0" ; + ObSysVars[47].max_val_ = "255" ; + ObSysVars[47].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[47].id_ = SYS_VAR_MAX_SP_RECURSION_DEPTH ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_SP_RECURSION_DEPTH)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_MAX_SP_RECURSION_DEPTH] = 47 ; + ObSysVars[47].alias_ = "OB_SV_MAX_SP_RECURSION_DEPTH" ; + + ObSysVars[48].info_ = "enable mysql sql safe updates" ; + ObSysVars[48].name_ = "sql_safe_updates" ; + ObSysVars[48].data_type_ = ObIntType ; + ObSysVars[48].value_ = "0" ; + ObSysVars[48].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[48].id_ = SYS_VAR_SQL_SAFE_UPDATES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_SAFE_UPDATES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_SAFE_UPDATES] = 48 ; + ObSysVars[48].alias_ = "OB_SV_SQL_SAFE_UPDATES" ; + + ObSysVars[49].info_ = "" ; + ObSysVars[49].name_ = "concurrent_insert" ; + ObSysVars[49].data_type_ = ObVarcharType ; + ObSysVars[49].value_ = "AUTO" ; + ObSysVars[49].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[49].id_ = SYS_VAR_CONCURRENT_INSERT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_CONCURRENT_INSERT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_CONCURRENT_INSERT] = 49 ; + ObSysVars[49].alias_ = "OB_SV_CONCURRENT_INSERT" ; + + ObSysVars[50].info_ = "" ; + ObSysVars[50].name_ = "default_authentication_plugin" ; + ObSysVars[50].data_type_ = ObVarcharType ; + ObSysVars[50].value_ = "mysql_native_password" ; + ObSysVars[50].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[50].id_ = SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_DEFAULT_AUTHENTICATION_PLUGIN] = 50 ; + ObSysVars[50].alias_ = "OB_SV_DEFAULT_AUTHENTICATION_PLUGIN" ; + + ObSysVars[51].info_ = "" ; + ObSysVars[51].name_ = "disabled_storage_engines" ; + ObSysVars[51].data_type_ = ObVarcharType ; + ObSysVars[51].value_ = "" ; + ObSysVars[51].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[51].id_ = SYS_VAR_DISABLED_STORAGE_ENGINES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DISABLED_STORAGE_ENGINES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_DISABLED_STORAGE_ENGINES] = 51 ; + ObSysVars[51].alias_ = "OB_SV_DISABLED_STORAGE_ENGINES" ; + + ObSysVars[52].info_ = "" ; + ObSysVars[52].name_ = "error_count" ; + ObSysVars[52].data_type_ = ObUInt64Type ; + ObSysVars[52].value_ = "0" ; + ObSysVars[52].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[52].id_ = SYS_VAR_ERROR_COUNT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_ERROR_COUNT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_ERROR_COUNT] = 52 ; + ObSysVars[52].alias_ = "OB_SV_ERROR_COUNT" ; + + ObSysVars[53].info_ = "" ; + ObSysVars[53].name_ = "general_log" ; + ObSysVars[53].data_type_ = ObIntType ; + ObSysVars[53].value_ = "0" ; + ObSysVars[53].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[53].id_ = SYS_VAR_GENERAL_LOG ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_GENERAL_LOG)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_GENERAL_LOG] = 53 ; + ObSysVars[53].alias_ = "OB_SV_GENERAL_LOG" ; + + ObSysVars[54].info_ = "" ; + ObSysVars[54].name_ = "have_openssl" ; + ObSysVars[54].data_type_ = ObVarcharType ; + ObSysVars[54].value_ = "YES" ; + ObSysVars[54].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[54].id_ = SYS_VAR_HAVE_OPENSSL ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HAVE_OPENSSL)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_HAVE_OPENSSL] = 54 ; + ObSysVars[54].alias_ = "OB_SV_HAVE_OPENSSL" ; + + ObSysVars[55].info_ = "" ; + ObSysVars[55].name_ = "have_profiling" ; + ObSysVars[55].data_type_ = ObVarcharType ; + ObSysVars[55].value_ = "YES" ; + ObSysVars[55].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[55].id_ = SYS_VAR_HAVE_PROFILING ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HAVE_PROFILING)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_HAVE_PROFILING] = 55 ; + ObSysVars[55].alias_ = "OB_SV_HAVE_PROFILING" ; + + ObSysVars[56].info_ = "" ; + ObSysVars[56].name_ = "have_ssl" ; + ObSysVars[56].data_type_ = ObVarcharType ; + ObSysVars[56].value_ = "YES" ; + ObSysVars[56].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[56].id_ = SYS_VAR_HAVE_SSL ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HAVE_SSL)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_HAVE_SSL] = 56 ; + ObSysVars[56].alias_ = "OB_SV_HAVE_SSL" ; + + ObSysVars[57].info_ = "" ; + ObSysVars[57].name_ = "hostname" ; + ObSysVars[57].data_type_ = ObVarcharType ; + ObSysVars[57].value_ = "" ; + ObSysVars[57].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[57].id_ = SYS_VAR_HOSTNAME ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_HOSTNAME)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_HOSTNAME] = 57 ; + ObSysVars[57].alias_ = "OB_SV_HOSTNAME" ; + + ObSysVars[58].info_ = "" ; + ObSysVars[58].name_ = "lc_messages" ; + ObSysVars[58].data_type_ = ObVarcharType ; + ObSysVars[58].value_ = "en_US" ; + ObSysVars[58].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[58].id_ = SYS_VAR_LC_MESSAGES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LC_MESSAGES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LC_MESSAGES] = 58 ; + ObSysVars[58].alias_ = "OB_SV_LC_MESSAGES" ; + + ObSysVars[59].info_ = "" ; + ObSysVars[59].name_ = "local_infile" ; + ObSysVars[59].data_type_ = ObIntType ; + ObSysVars[59].value_ = "1" ; + ObSysVars[59].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[59].id_ = SYS_VAR_LOCAL_INFILE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LOCAL_INFILE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LOCAL_INFILE] = 59 ; + ObSysVars[59].alias_ = "OB_SV_LOCAL_INFILE" ; + + ObSysVars[60].info_ = "" ; + ObSysVars[60].name_ = "lock_wait_timeout" ; + ObSysVars[60].data_type_ = ObIntType ; + ObSysVars[60].value_ = "31536000" ; + ObSysVars[60].min_val_ = "1" ; + ObSysVars[60].max_val_ = "31536000" ; + ObSysVars[60].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[60].id_ = SYS_VAR_LOCK_WAIT_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LOCK_WAIT_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LOCK_WAIT_TIMEOUT] = 60 ; + ObSysVars[60].alias_ = "OB_SV_LOCK_WAIT_TIMEOUT" ; + + ObSysVars[61].info_ = "" ; + ObSysVars[61].name_ = "long_query_time" ; + ObSysVars[61].data_type_ = ObNumberType ; + ObSysVars[61].value_ = "10" ; + ObSysVars[61].min_val_ = "0" ; + ObSysVars[61].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[61].id_ = SYS_VAR_LONG_QUERY_TIME ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_LONG_QUERY_TIME)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_LONG_QUERY_TIME] = 61 ; + ObSysVars[61].alias_ = "OB_SV_LONG_QUERY_TIME" ; + + ObSysVars[62].info_ = "" ; + ObSysVars[62].name_ = "max_connections" ; + ObSysVars[62].data_type_ = ObUInt64Type ; + ObSysVars[62].value_ = "4294967295" ; + ObSysVars[62].min_val_ = "1" ; + ObSysVars[62].max_val_ = "4294967295" ; + ObSysVars[62].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[62].id_ = SYS_VAR_MAX_CONNECTIONS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_CONNECTIONS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_MAX_CONNECTIONS] = 62 ; + ObSysVars[62].alias_ = "OB_SV_MAX_CONNECTIONS" ; + + ObSysVars[63].info_ = "" ; + ObSysVars[63].name_ = "max_execution_time" ; + ObSysVars[63].data_type_ = ObIntType ; + ObSysVars[63].value_ = "0" ; + ObSysVars[63].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[63].id_ = SYS_VAR_MAX_EXECUTION_TIME ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_MAX_EXECUTION_TIME)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_MAX_EXECUTION_TIME] = 63 ; + ObSysVars[63].alias_ = "OB_SV_MAX_EXECUTION_TIME" ; + + ObSysVars[64].info_ = "" ; + ObSysVars[64].name_ = "protocol_version" ; + ObSysVars[64].data_type_ = ObIntType ; + ObSysVars[64].value_ = "10" ; + ObSysVars[64].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[64].id_ = SYS_VAR_PROTOCOL_VERSION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PROTOCOL_VERSION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_PROTOCOL_VERSION] = 64 ; + ObSysVars[64].alias_ = "OB_SV_PROTOCOL_VERSION" ; + + ObSysVars[65].info_ = "" ; + ObSysVars[65].name_ = "server_id" ; + ObSysVars[65].data_type_ = ObIntType ; + ObSysVars[65].value_ = "0" ; + ObSysVars[65].min_val_ = "0" ; + ObSysVars[65].max_val_ = "4294967295" ; + ObSysVars[65].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[65].id_ = SYS_VAR_SERVER_ID ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SERVER_ID)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SERVER_ID] = 65 ; + ObSysVars[65].alias_ = "OB_SV_SERVER_ID" ; + + ObSysVars[66].info_ = "" ; + ObSysVars[66].name_ = "ssl_ca" ; + ObSysVars[66].data_type_ = ObVarcharType ; + ObSysVars[66].value_ = "" ; + ObSysVars[66].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[66].id_ = SYS_VAR_SSL_CA ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CA)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CA] = 66 ; + ObSysVars[66].alias_ = "OB_SV_SSL_CA" ; + + ObSysVars[67].info_ = "" ; + ObSysVars[67].name_ = "ssl_capath" ; + ObSysVars[67].data_type_ = ObVarcharType ; + ObSysVars[67].value_ = "" ; + ObSysVars[67].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[67].id_ = SYS_VAR_SSL_CAPATH ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CAPATH)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CAPATH] = 67 ; + ObSysVars[67].alias_ = "OB_SV_SSL_CAPATH" ; + + ObSysVars[68].info_ = "" ; + ObSysVars[68].name_ = "ssl_cert" ; + ObSysVars[68].data_type_ = ObVarcharType ; + ObSysVars[68].value_ = "" ; + ObSysVars[68].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[68].id_ = SYS_VAR_SSL_CERT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CERT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CERT] = 68 ; + ObSysVars[68].alias_ = "OB_SV_SSL_CERT" ; + + ObSysVars[69].info_ = "" ; + ObSysVars[69].name_ = "ssl_cipher" ; + ObSysVars[69].data_type_ = ObVarcharType ; + ObSysVars[69].value_ = "" ; + ObSysVars[69].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[69].id_ = SYS_VAR_SSL_CIPHER ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CIPHER)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CIPHER] = 69 ; + ObSysVars[69].alias_ = "OB_SV_SSL_CIPHER" ; + + ObSysVars[70].info_ = "" ; + ObSysVars[70].name_ = "ssl_crl" ; + ObSysVars[70].data_type_ = ObVarcharType ; + ObSysVars[70].value_ = "" ; + ObSysVars[70].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[70].id_ = SYS_VAR_SSL_CRL ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CRL)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CRL] = 70 ; + ObSysVars[70].alias_ = "OB_SV_SSL_CRL" ; + + ObSysVars[71].info_ = "" ; + ObSysVars[71].name_ = "ssl_crlpath" ; + ObSysVars[71].data_type_ = ObVarcharType ; + ObSysVars[71].value_ = "" ; + ObSysVars[71].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[71].id_ = SYS_VAR_SSL_CRLPATH ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_CRLPATH)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_CRLPATH] = 71 ; + ObSysVars[71].alias_ = "OB_SV_SSL_CRLPATH" ; + + ObSysVars[72].info_ = "" ; + ObSysVars[72].name_ = "ssl_key" ; + ObSysVars[72].data_type_ = ObVarcharType ; + ObSysVars[72].value_ = "" ; + ObSysVars[72].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[72].id_ = SYS_VAR_SSL_KEY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SSL_KEY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SSL_KEY] = 72 ; + ObSysVars[72].alias_ = "OB_SV_SSL_KEY" ; + + ObSysVars[73].info_ = "" ; + ObSysVars[73].name_ = "time_format" ; + ObSysVars[73].data_type_ = ObVarcharType ; + ObSysVars[73].value_ = "%H:%i:%s" ; + ObSysVars[73].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[73].id_ = SYS_VAR_TIME_FORMAT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TIME_FORMAT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TIME_FORMAT] = 73 ; + ObSysVars[73].alias_ = "OB_SV_TIME_FORMAT" ; + + ObSysVars[74].info_ = "TLSv1,TLSv1.1,TLSv1.2" ; + ObSysVars[74].name_ = "tls_version" ; + ObSysVars[74].data_type_ = ObVarcharType ; + ObSysVars[74].value_ = "" ; + ObSysVars[74].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[74].id_ = SYS_VAR_TLS_VERSION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TLS_VERSION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TLS_VERSION] = 74 ; + ObSysVars[74].alias_ = "OB_SV_TLS_VERSION" ; + + ObSysVars[75].info_ = "" ; + ObSysVars[75].name_ = "tmp_table_size" ; + ObSysVars[75].data_type_ = ObUInt64Type ; + ObSysVars[75].value_ = "16777216" ; + ObSysVars[75].min_val_ = "1024" ; + ObSysVars[75].max_val_ = "18446744073709551615" ; + ObSysVars[75].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[75].id_ = SYS_VAR_TMP_TABLE_SIZE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TMP_TABLE_SIZE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TMP_TABLE_SIZE] = 75 ; + ObSysVars[75].alias_ = "OB_SV_TMP_TABLE_SIZE" ; + + ObSysVars[76].info_ = "" ; + ObSysVars[76].name_ = "tmpdir" ; + ObSysVars[76].data_type_ = ObVarcharType ; + ObSysVars[76].value_ = "" ; + ObSysVars[76].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[76].id_ = SYS_VAR_TMPDIR ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TMPDIR)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TMPDIR] = 76 ; + ObSysVars[76].alias_ = "OB_SV_TMPDIR" ; + + ObSysVars[77].info_ = "" ; + ObSysVars[77].name_ = "unique_checks" ; + ObSysVars[77].data_type_ = ObIntType ; + ObSysVars[77].value_ = "1" ; + ObSysVars[77].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[77].id_ = SYS_VAR_UNIQUE_CHECKS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_UNIQUE_CHECKS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_UNIQUE_CHECKS] = 77 ; + ObSysVars[77].alias_ = "OB_SV_UNIQUE_CHECKS" ; + + ObSysVars[78].info_ = "" ; + ObSysVars[78].name_ = "version_compile_machine" ; + ObSysVars[78].data_type_ = ObVarcharType ; + ObSysVars[78].value_ = "" ; + ObSysVars[78].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[78].id_ = SYS_VAR_VERSION_COMPILE_MACHINE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION_COMPILE_MACHINE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VERSION_COMPILE_MACHINE] = 78 ; + ObSysVars[78].alias_ = "OB_SV_VERSION_COMPILE_MACHINE" ; + + ObSysVars[79].info_ = "" ; + ObSysVars[79].name_ = "version_compile_os" ; + ObSysVars[79].data_type_ = ObVarcharType ; + ObSysVars[79].value_ = "" ; + ObSysVars[79].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[79].id_ = SYS_VAR_VERSION_COMPILE_OS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VERSION_COMPILE_OS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VERSION_COMPILE_OS] = 79 ; + ObSysVars[79].alias_ = "OB_SV_VERSION_COMPILE_OS" ; + + ObSysVars[80].info_ = "" ; + ObSysVars[80].name_ = "warning_count" ; + ObSysVars[80].data_type_ = ObUInt64Type ; + ObSysVars[80].value_ = "0" ; + ObSysVars[80].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[80].id_ = SYS_VAR_WARNING_COUNT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_WARNING_COUNT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_WARNING_COUNT] = 80 ; + ObSysVars[80].alias_ = "OB_SV_WARNING_COUNT" ; + + ObSysVars[81].info_ = "specifies whether return schema change info in ok packet" ; + ObSysVars[81].name_ = "session_track_schema" ; + ObSysVars[81].data_type_ = ObIntType ; + ObSysVars[81].value_ = "1" ; + ObSysVars[81].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[81].id_ = SYS_VAR_SESSION_TRACK_SCHEMA ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SESSION_TRACK_SCHEMA)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SESSION_TRACK_SCHEMA] = 81 ; + ObSysVars[81].alias_ = "OB_SV_SESSION_TRACK_SCHEMA" ; + + ObSysVars[82].info_ = "specifies whether return system variables change info in ok packet" ; + ObSysVars[82].name_ = "session_track_system_variables" ; + ObSysVars[82].data_type_ = ObVarcharType ; + ObSysVars[82].value_ = "time_zone, autocommit, character_set_client, character_set_results, character_set_connection" ; + ObSysVars[82].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[82].id_ = SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SESSION_TRACK_SYSTEM_VARIABLES] = 82 ; + ObSysVars[82].alias_ = "OB_SV_SESSION_TRACK_SYSTEM_VARIABLES" ; + + ObSysVars[83].info_ = "specifies whether return session state change info in ok packet" ; + ObSysVars[83].name_ = "session_track_state_change" ; + ObSysVars[83].data_type_ = ObIntType ; + ObSysVars[83].value_ = "0" ; + ObSysVars[83].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::MYSQL_ONLY ; + ObSysVars[83].id_ = SYS_VAR_SESSION_TRACK_STATE_CHANGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SESSION_TRACK_STATE_CHANGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SESSION_TRACK_STATE_CHANGE] = 83 ; + ObSysVars[83].alias_ = "OB_SV_SESSION_TRACK_STATE_CHANGE" ; + + ObSysVars[84].info_ = "The default replica number of table per zone if not specified when creating table." ; + ObSysVars[84].name_ = "ob_default_replica_num" ; + ObSysVars[84].data_type_ = ObIntType ; + ObSysVars[84].value_ = "1" ; + ObSysVars[84].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[84].id_ = SYS_VAR_OB_DEFAULT_REPLICA_NUM ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_DEFAULT_REPLICA_NUM)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_DEFAULT_REPLICA_NUM] = 84 ; + ObSysVars[84].alias_ = "OB_SV_DEFAULT_REPLICA_NUM" ; + + ObSysVars[85].info_ = "Indicate how many bytes the interm result manager can alloc most for this tenant" ; + ObSysVars[85].name_ = "ob_interm_result_mem_limit" ; + ObSysVars[85].data_type_ = ObIntType ; + ObSysVars[85].value_ = "2147483648" ; + ObSysVars[85].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[85].id_ = SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_INTERM_RESULT_MEM_LIMIT] = 85 ; + ObSysVars[85].alias_ = "OB_SV_INTERM_RESULT_MEM_LIMIT" ; + + ObSysVars[86].info_ = "Indicate whether sql stmt hit right partition, readonly to user, modify by ob" ; + ObSysVars[86].name_ = "ob_proxy_partition_hit" ; + ObSysVars[86].data_type_ = ObIntType ; + ObSysVars[86].value_ = "1" ; + ObSysVars[86].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[86].id_ = SYS_VAR_OB_PROXY_PARTITION_HIT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_PARTITION_HIT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_PARTITION_HIT] = 86 ; + ObSysVars[86].alias_ = "OB_SV_PROXY_PARTITION_HIT" ; + + ObSysVars[87].info_ = "log level in session" ; + ObSysVars[87].name_ = "ob_log_level" ; + ObSysVars[87].data_type_ = ObVarcharType ; + ObSysVars[87].value_ = "disabled" ; + ObSysVars[87].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[87].id_ = SYS_VAR_OB_LOG_LEVEL ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_LOG_LEVEL)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_LOG_LEVEL] = 87 ; + ObSysVars[87].alias_ = "OB_SV_LOG_LEVEL" ; + + ObSysVars[88].info_ = "Max parellel sub request to chunkservers for one request" ; + ObSysVars[88].name_ = "ob_max_parallel_degree" ; + ObSysVars[88].data_type_ = ObIntType ; + ObSysVars[88].value_ = "16" ; + ObSysVars[88].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[88].id_ = SYS_VAR_OB_MAX_PARALLEL_DEGREE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_MAX_PARALLEL_DEGREE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_MAX_PARALLEL_DEGREE] = 88 ; + ObSysVars[88].alias_ = "OB_SV_MAX_PARALLEL_DEGREE" ; + + ObSysVars[89].info_ = "Query timeout in microsecond(us)" ; + ObSysVars[89].name_ = "ob_query_timeout" ; + ObSysVars[89].data_type_ = ObIntType ; + ObSysVars[89].value_ = "10000000" ; + ObSysVars[89].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[89].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large" ; + ObSysVars[89].id_ = SYS_VAR_OB_QUERY_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_QUERY_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_QUERY_TIMEOUT] = 89 ; + ObSysVars[89].alias_ = "OB_SV_QUERY_TIMEOUT" ; + + ObSysVars[90].info_ = "read consistency level: 3=STRONG, 2=WEAK, 1=FROZEN" ; + ObSysVars[90].name_ = "ob_read_consistency" ; + ObSysVars[90].data_type_ = ObIntType ; + ObSysVars[90].enum_names_ = "[u'', u'FROZEN', u'WEAK', u'STRONG']" ; + ObSysVars[90].value_ = "3" ; + ObSysVars[90].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[90].id_ = SYS_VAR_OB_READ_CONSISTENCY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_READ_CONSISTENCY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_READ_CONSISTENCY] = 90 ; + ObSysVars[90].alias_ = "OB_SV_READ_CONSISTENCY" ; + + ObSysVars[91].info_ = "whether use transform in session" ; + ObSysVars[91].name_ = "ob_enable_transformation" ; + ObSysVars[91].data_type_ = ObIntType ; + ObSysVars[91].value_ = "1" ; + ObSysVars[91].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[91].id_ = SYS_VAR_OB_ENABLE_TRANSFORMATION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRANSFORMATION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRANSFORMATION] = 91 ; + ObSysVars[91].alias_ = "OB_SV_ENABLE_TRANSFORMATION" ; + + ObSysVars[92].info_ = "The max duration of one transaction" ; + ObSysVars[92].name_ = "ob_trx_timeout" ; + ObSysVars[92].data_type_ = ObIntType ; + ObSysVars[92].value_ = "100000000" ; + ObSysVars[92].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[92].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large" ; + ObSysVars[92].id_ = SYS_VAR_OB_TRX_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRX_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRX_TIMEOUT] = 92 ; + ObSysVars[92].alias_ = "OB_SV_TRX_TIMEOUT" ; + + ObSysVars[93].info_ = "whether use plan cache in session" ; + ObSysVars[93].name_ = "ob_enable_plan_cache" ; + ObSysVars[93].data_type_ = ObIntType ; + ObSysVars[93].value_ = "1" ; + ObSysVars[93].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[93].id_ = SYS_VAR_OB_ENABLE_PLAN_CACHE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_PLAN_CACHE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_PLAN_CACHE] = 93 ; + ObSysVars[93].alias_ = "OB_SV_ENABLE_PLAN_CACHE" ; + + ObSysVars[94].info_ = "whether can select from index table" ; + ObSysVars[94].name_ = "ob_enable_index_direct_select" ; + ObSysVars[94].data_type_ = ObIntType ; + ObSysVars[94].value_ = "0" ; + ObSysVars[94].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[94].id_ = SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_INDEX_DIRECT_SELECT] = 94 ; + ObSysVars[94].alias_ = "OB_SV_ENABLE_INDEX_DIRECT_SELECT" ; + + ObSysVars[95].info_ = "this value is true if we have executed set transaction stmt, until a transaction commit(explicit or implicit) successfully" ; + ObSysVars[95].name_ = "ob_proxy_set_trx_executed" ; + ObSysVars[95].data_type_ = ObIntType ; + ObSysVars[95].value_ = "0" ; + ObSysVars[95].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[95].id_ = SYS_VAR_OB_PROXY_SET_TRX_EXECUTED ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_SET_TRX_EXECUTED)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_SET_TRX_EXECUTED] = 95 ; + ObSysVars[95].alias_ = "OB_SV_PROXY_SET_TRX_EXECUTED" ; + + ObSysVars[96].info_ = "enable aggregation function to be push-downed through exchange nodes" ; + ObSysVars[96].name_ = "ob_enable_aggregation_pushdown" ; + ObSysVars[96].data_type_ = ObIntType ; + ObSysVars[96].value_ = "1" ; + ObSysVars[96].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[96].id_ = SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_AGGREGATION_PUSHDOWN] = 96 ; + ObSysVars[96].alias_ = "OB_SV_ENABLE_AGGREGATION_PUSHDOWN" ; + + ObSysVars[97].info_ = "" ; + ObSysVars[97].name_ = "ob_last_schema_version" ; + ObSysVars[97].data_type_ = ObIntType ; + ObSysVars[97].value_ = "0" ; + ObSysVars[97].flags_ = ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[97].id_ = SYS_VAR_OB_LAST_SCHEMA_VERSION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_LAST_SCHEMA_VERSION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_LAST_SCHEMA_VERSION] = 97 ; + ObSysVars[97].alias_ = "OB_SV_LAST_SCHEMA_VERSION" ; + + ObSysVars[98].info_ = "Global debug sync facility" ; + ObSysVars[98].name_ = "ob_global_debug_sync" ; + ObSysVars[98].data_type_ = ObVarcharType ; + ObSysVars[98].value_ = "" ; + ObSysVars[98].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[98].id_ = SYS_VAR_OB_GLOBAL_DEBUG_SYNC ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_GLOBAL_DEBUG_SYNC)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_GLOBAL_DEBUG_SYNC] = 98 ; + ObSysVars[98].alias_ = "OB_SV_GLOBAL_DEBUG_SYNC" ; + + ObSysVars[99].info_ = "this value is global variables last modified time when server session create, used for proxy to judge whether global vars has changed between two server session" ; + ObSysVars[99].name_ = "ob_proxy_global_variables_version" ; + ObSysVars[99].data_type_ = ObIntType ; + ObSysVars[99].value_ = "0" ; + ObSysVars[99].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[99].id_ = SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_GLOBAL_VARIABLES_VERSION] = 99 ; + ObSysVars[99].alias_ = "OB_SV_PROXY_GLOBAL_VARIABLES_VERSION" ; + + ObSysVars[100].info_ = "control whether use trace log" ; + ObSysVars[100].name_ = "ob_enable_trace_log" ; + ObSysVars[100].data_type_ = ObIntType ; + ObSysVars[100].value_ = "0" ; + ObSysVars[100].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[100].id_ = SYS_VAR_OB_ENABLE_TRACE_LOG ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRACE_LOG)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRACE_LOG] = 100 ; + ObSysVars[100].alias_ = "OB_SV_ENABLE_TRACE_LOG" ; + + ObSysVars[101].info_ = "" ; + ObSysVars[101].name_ = "ob_enable_hash_group_by" ; + ObSysVars[101].data_type_ = ObIntType ; + ObSysVars[101].value_ = "1" ; + ObSysVars[101].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[101].id_ = SYS_VAR_OB_ENABLE_HASH_GROUP_BY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_HASH_GROUP_BY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_HASH_GROUP_BY] = 101 ; + ObSysVars[101].alias_ = "OB_SV_ENABLE_HASH_GROUP_BY" ; + + ObSysVars[102].info_ = "" ; + ObSysVars[102].name_ = "ob_enable_blk_nestedloop_join" ; + ObSysVars[102].data_type_ = ObIntType ; + ObSysVars[102].value_ = "0" ; + ObSysVars[102].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[102].id_ = SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_BLK_NESTEDLOOP_JOIN] = 102 ; + ObSysVars[102].alias_ = "OB_SV_ENABLE_BLK_NESTEDLOOP_JOIN" ; + + ObSysVars[103].info_ = "" ; + ObSysVars[103].name_ = "ob_bnl_join_cache_size" ; + ObSysVars[103].data_type_ = ObIntType ; + ObSysVars[103].value_ = "10485760" ; + ObSysVars[103].min_val_ = "1" ; + ObSysVars[103].max_val_ = "9223372036854775807" ; + ObSysVars[103].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[103].id_ = SYS_VAR_OB_BNL_JOIN_CACHE_SIZE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_BNL_JOIN_CACHE_SIZE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_BNL_JOIN_CACHE_SIZE] = 103 ; + ObSysVars[103].alias_ = "OB_SV_BNL_JOIN_CACHE_SIZE" ; + + ObSysVars[104].info_ = "Indicate current client session user privilege, readonly after modified by first observer" ; + ObSysVars[104].name_ = "ob_proxy_user_privilege" ; + ObSysVars[104].data_type_ = ObIntType ; + ObSysVars[104].value_ = "0" ; + ObSysVars[104].min_val_ = "0" ; + ObSysVars[104].max_val_ = "9223372036854775807" ; + ObSysVars[104].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[104].id_ = SYS_VAR_OB_PROXY_USER_PRIVILEGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PROXY_USER_PRIVILEGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PROXY_USER_PRIVILEGE] = 104 ; + ObSysVars[104].alias_ = "OB_SV_PROXY_USER_PRIVILEGE" ; + + ObSysVars[105].info_ = "When the DRC system copies data into the target cluster, it needs to be set to the CLUSTER_ID that should be written into commit log of OceanBase, in order to avoid loop replication of data. Normally, it does not need to be set, and OceanBase will use the default value, which is the CLUSTER_ID of current cluster of OceanBase. 0 indicates it is not set, please do not set it to 0" ; + ObSysVars[105].base_class_ = "ObStrictRangeIntSysVar" ; + ObSysVars[105].name_ = "ob_org_cluster_id" ; + ObSysVars[105].data_type_ = ObIntType ; + ObSysVars[105].value_ = "0" ; + ObSysVars[105].min_val_ = "0" ; + ObSysVars[105].max_val_ = "4294967295" ; + ObSysVars[105].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[105].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_ob_org_cluster_id" ; + ObSysVars[105].id_ = SYS_VAR_OB_ORG_CLUSTER_ID ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ORG_CLUSTER_ID)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ORG_CLUSTER_ID] = 105 ; + ObSysVars[105].alias_ = "OB_SV_ORG_CLUSTER_ID" ; + + ObSysVars[106].info_ = "percentage of tenant memory resources that can be used by plan cache" ; + ObSysVars[106].name_ = "ob_plan_cache_percentage" ; + ObSysVars[106].data_type_ = ObIntType ; + ObSysVars[106].value_ = "5" ; + ObSysVars[106].min_val_ = "0" ; + ObSysVars[106].max_val_ = "100" ; + ObSysVars[106].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[106].id_ = SYS_VAR_OB_PLAN_CACHE_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PLAN_CACHE_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PLAN_CACHE_PERCENTAGE] = 106 ; + ObSysVars[106].alias_ = "OB_SV_PLAN_CACHE_PERCENTAGE" ; + + ObSysVars[107].info_ = "memory usage percentage of plan_cache_limit at which plan cache eviction will be trigger" ; + ObSysVars[107].name_ = "ob_plan_cache_evict_high_percentage" ; + ObSysVars[107].data_type_ = ObIntType ; + ObSysVars[107].value_ = "90" ; + ObSysVars[107].min_val_ = "0" ; + ObSysVars[107].max_val_ = "100" ; + ObSysVars[107].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[107].id_ = SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE] = 107 ; + ObSysVars[107].alias_ = "OB_SV_PLAN_CACHE_EVICT_HIGH_PERCENTAGE" ; + + ObSysVars[108].info_ = "memory usage percentage of plan_cache_limit at which plan cache eviction will be stopped" ; + ObSysVars[108].name_ = "ob_plan_cache_evict_low_percentage" ; + ObSysVars[108].data_type_ = ObIntType ; + ObSysVars[108].value_ = "50" ; + ObSysVars[108].min_val_ = "0" ; + ObSysVars[108].max_val_ = "100" ; + ObSysVars[108].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[108].id_ = SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE] = 108 ; + ObSysVars[108].alias_ = "OB_SV_PLAN_CACHE_EVICT_LOW_PERCENTAGE" ; + + ObSysVars[109].info_ = "When the recycle bin is enabled, dropped tables and their dependent objects are placed in the recycle bin. When the recycle bin is disabled, dropped tables and their dependent objects are not placed in the recycle bin; they are just dropped." ; + ObSysVars[109].name_ = "recyclebin" ; + ObSysVars[109].data_type_ = ObIntType ; + ObSysVars[109].value_ = "0" ; + ObSysVars[109].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[109].id_ = SYS_VAR_RECYCLEBIN ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_RECYCLEBIN)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_RECYCLEBIN] = 109 ; + ObSysVars[109].alias_ = "OB_SV_RECYCLEBIN" ; + + ObSysVars[110].info_ = "Indicate features that observer supports, readonly after modified by first observer" ; + ObSysVars[110].name_ = "ob_capability_flag" ; + ObSysVars[110].data_type_ = ObUInt64Type ; + ObSysVars[110].value_ = "0" ; + ObSysVars[110].min_val_ = "0" ; + ObSysVars[110].max_val_ = "18446744073709551615" ; + ObSysVars[110].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[110].id_ = SYS_VAR_OB_CAPABILITY_FLAG ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_CAPABILITY_FLAG)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_CAPABILITY_FLAG] = 110 ; + ObSysVars[110].alias_ = "OB_SV_CAPABILITY_FLAG" ; + + ObSysVars[111].info_ = "The parallel degree of a job in a query, which represent how many tasks of a job can be run parallelly" ; + ObSysVars[111].name_ = "ob_stmt_parallel_degree" ; + ObSysVars[111].data_type_ = ObIntType ; + ObSysVars[111].value_ = "1" ; + ObSysVars[111].min_val_ = "1" ; + ObSysVars[111].max_val_ = "10240" ; + ObSysVars[111].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[111].id_ = SYS_VAR_OB_STMT_PARALLEL_DEGREE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_STMT_PARALLEL_DEGREE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_STMT_PARALLEL_DEGREE] = 111 ; + ObSysVars[111].alias_ = "OB_SV_STMT_PARALLEL_DEGREE" ; + + ObSysVars[112].info_ = "when query is with topk hint, is_result_accurate indicates whether the result is acuurate or not " ; + ObSysVars[112].name_ = "is_result_accurate" ; + ObSysVars[112].data_type_ = ObIntType ; + ObSysVars[112].value_ = "1" ; + ObSysVars[112].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[112].id_ = SYS_VAR_IS_RESULT_ACCURATE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_IS_RESULT_ACCURATE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_IS_RESULT_ACCURATE] = 112 ; + ObSysVars[112].alias_ = "OB_SV_IS_RESULT_ACCURATE" ; + + ObSysVars[113].info_ = "The variable determines how OceanBase should handle an ambiguous boundary datetime value a case in which it is not clear whether the datetime is in standard or daylight saving time" ; + ObSysVars[113].name_ = "error_on_overlap_time" ; + ObSysVars[113].data_type_ = ObIntType ; + ObSysVars[113].value_ = "0" ; + ObSysVars[113].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[113].id_ = SYS_VAR_ERROR_ON_OVERLAP_TIME ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_ERROR_ON_OVERLAP_TIME)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_ERROR_ON_OVERLAP_TIME] = 113 ; + ObSysVars[113].alias_ = "OB_SV_ERROR_ON_OVERLAP_TIME" ; + + ObSysVars[114].info_ = "What DBMS is OceanBase compatible with? MYSQL means it behaves like MySQL while ORACLE means it behaves like Oracle." ; + ObSysVars[114].name_ = "ob_compatibility_mode" ; + ObSysVars[114].data_type_ = ObIntType ; + ObSysVars[114].enum_names_ = "[u'MYSQL', u'ORACLE']" ; + ObSysVars[114].value_ = "0" ; + ObSysVars[114].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::WITH_UPGRADE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[114].id_ = SYS_VAR_OB_COMPATIBILITY_MODE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_COMPATIBILITY_MODE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_COMPATIBILITY_MODE] = 114 ; + ObSysVars[114].alias_ = "OB_SV_COMPATIBILITY_MODE" ; + + ObSysVars[115].info_ = "If set true, create all the replicas according to the locality or the operation will fail." ; + ObSysVars[115].name_ = "ob_create_table_strict_mode" ; + ObSysVars[115].data_type_ = ObIntType ; + ObSysVars[115].value_ = "1" ; + ObSysVars[115].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[115].id_ = SYS_VAR_OB_CREATE_TABLE_STRICT_MODE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_CREATE_TABLE_STRICT_MODE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_CREATE_TABLE_STRICT_MODE] = 115 ; + ObSysVars[115].alias_ = "OB_SV_CREATE_TABLE_STRICT_MODE" ; + + ObSysVars[116].info_ = "The percentage limitation of tenant memory for SQL execution." ; + ObSysVars[116].name_ = "ob_sql_work_area_percentage" ; + ObSysVars[116].data_type_ = ObIntType ; + ObSysVars[116].value_ = "5" ; + ObSysVars[116].min_val_ = "0" ; + ObSysVars[116].max_val_ = "100" ; + ObSysVars[116].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[116].id_ = SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_SQL_WORK_AREA_PERCENTAGE] = 116 ; + ObSysVars[116].alias_ = "OB_SV_SQL_WORK_AREA_PERCENTAGE" ; + + ObSysVars[117].info_ = "The safe weak read snapshot version in one server" ; + ObSysVars[117].on_update_func_ = "ObSysVarOnUpdateFuncs::update_safe_weak_read_snapshot" ; + ObSysVars[117].name_ = "ob_safe_weak_read_snapshot" ; + ObSysVars[117].data_type_ = ObIntType ; + ObSysVars[117].value_ = "1" ; + ObSysVars[117].min_val_ = "0" ; + ObSysVars[117].max_val_ = "9223372036854775807" ; + ObSysVars[117].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE ; + ObSysVars[117].id_ = SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_SAFE_WEAK_READ_SNAPSHOT] = 117 ; + ObSysVars[117].alias_ = "OB_SV_SAFE_WEAK_READ_SNAPSHOT" ; + + ObSysVars[118].info_ = "the routing policy of obproxy/java client and observer internal retry, 1=READONLY_ZONE_FIRST, 2=ONLY_READONLY_ZONE, 3=UNMERGE_ZONE_FIRST, 4=UNMERGE_FOLLOWER_FIRST" ; + ObSysVars[118].name_ = "ob_route_policy" ; + ObSysVars[118].data_type_ = ObIntType ; + ObSysVars[118].enum_names_ = "[u'', u'READONLY_ZONE_FIRST', u'ONLY_READONLY_ZONE', u'UNMERGE_ZONE_FIRST', u'UNMERGE_FOLLOWER_FIRST']" ; + ObSysVars[118].value_ = "1" ; + ObSysVars[118].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[118].id_ = SYS_VAR_OB_ROUTE_POLICY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ROUTE_POLICY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ROUTE_POLICY] = 118 ; + ObSysVars[118].alias_ = "OB_SV_ROUTE_POLICY" ; + + ObSysVars[119].info_ = "whether do the checksum of the packet between the client and the server" ; + ObSysVars[119].name_ = "ob_enable_transmission_checksum" ; + ObSysVars[119].data_type_ = ObIntType ; + ObSysVars[119].value_ = "1" ; + ObSysVars[119].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::QUERY_SENSITIVE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[119].id_ = SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRANSMISSION_CHECKSUM] = 119 ; + ObSysVars[119].alias_ = "OB_SV_ENABLE_TRANSMISSION_CHECKSUM" ; + + ObSysVars[120].info_ = "set to 1 (the default by MySQL), foreign key constraints are checked. If set to 0, foreign key constraints are ignored" ; + ObSysVars[120].name_ = "foreign_key_checks" ; + ObSysVars[120].data_type_ = ObIntType ; + ObSysVars[120].value_ = "1" ; + ObSysVars[120].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[120].id_ = SYS_VAR_FOREIGN_KEY_CHECKS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_FOREIGN_KEY_CHECKS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_FOREIGN_KEY_CHECKS] = 120 ; + ObSysVars[120].alias_ = "OB_SV_FOREIGN_KEY_CHECKS" ; + + ObSysVars[121].info_ = "the trace id of current executing statement" ; + ObSysVars[121].name_ = "ob_statement_trace_id" ; + ObSysVars[121].data_type_ = ObVarcharType ; + ObSysVars[121].value_ = "Y0-0" ; + ObSysVars[121].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::INVISIBLE ; + ObSysVars[121].id_ = SYS_VAR_OB_STATEMENT_TRACE_ID ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_STATEMENT_TRACE_ID)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_STATEMENT_TRACE_ID] = 121 ; + ObSysVars[121].alias_ = "OB_SV_STATEMENT_TRACE_ID" ; + + ObSysVars[122].info_ = "Enable the flashback of table truncation." ; + ObSysVars[122].name_ = "ob_enable_truncate_flashback" ; + ObSysVars[122].data_type_ = ObIntType ; + ObSysVars[122].value_ = "0" ; + ObSysVars[122].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[122].id_ = SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_TRUNCATE_FLASHBACK] = 122 ; + ObSysVars[122].alias_ = "OB_SV_ENABLE_TRUNCATE_FLASHBACK" ; + + ObSysVars[123].info_ = "ip white list for tenant, support % and _ and multi ip(separated by commas), support ip match and wild match" ; + ObSysVars[123].name_ = "ob_tcp_invited_nodes" ; + ObSysVars[123].data_type_ = ObVarcharType ; + ObSysVars[123].value_ = "127.0.0.1,::1" ; + ObSysVars[123].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[123].id_ = SYS_VAR_OB_TCP_INVITED_NODES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TCP_INVITED_NODES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TCP_INVITED_NODES] = 123 ; + ObSysVars[123].alias_ = "OB_SV_TCP_INVITED_NODES" ; + + ObSysVars[124].info_ = "current priority used for SQL throttling" ; + ObSysVars[124].name_ = "sql_throttle_current_priority" ; + ObSysVars[124].data_type_ = ObIntType ; + ObSysVars[124].value_ = "100" ; + ObSysVars[124].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[124].id_ = SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_CURRENT_PRIORITY] = 124 ; + ObSysVars[124].alias_ = "OB_SV_SQL_THROTTLE_CURRENT_PRIORITY" ; + + ObSysVars[125].info_ = "sql throttle priority, query may not be allowed to execute if its priority isnt greater than this value." ; + ObSysVars[125].name_ = "sql_throttle_priority" ; + ObSysVars[125].data_type_ = ObIntType ; + ObSysVars[125].value_ = "-1" ; + ObSysVars[125].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[125].id_ = SYS_VAR_SQL_THROTTLE_PRIORITY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_PRIORITY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_PRIORITY] = 125 ; + ObSysVars[125].alias_ = "OB_SV_SQL_THROTTLE_PRIORITY" ; + + ObSysVars[126].info_ = "query may not be allowed to execute if its rt isnt less than this value." ; + ObSysVars[126].name_ = "sql_throttle_rt" ; + ObSysVars[126].data_type_ = ObNumberType ; + ObSysVars[126].value_ = "-1" ; + ObSysVars[126].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[126].id_ = SYS_VAR_SQL_THROTTLE_RT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_RT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_RT] = 126 ; + ObSysVars[126].alias_ = "OB_SV_SQL_THROTTLE_RT" ; + + ObSysVars[127].info_ = "query may not be allowed to execute if its CPU usage isnt less than this value." ; + ObSysVars[127].name_ = "sql_throttle_cpu" ; + ObSysVars[127].data_type_ = ObNumberType ; + ObSysVars[127].value_ = "-1" ; + ObSysVars[127].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[127].id_ = SYS_VAR_SQL_THROTTLE_CPU ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_CPU)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_CPU] = 127 ; + ObSysVars[127].alias_ = "OB_SV_SQL_THROTTLE_CPU" ; + + ObSysVars[128].info_ = "query may not be allowed to execute if its number of IOs isnt less than this value." ; + ObSysVars[128].name_ = "sql_throttle_io" ; + ObSysVars[128].data_type_ = ObIntType ; + ObSysVars[128].value_ = "-1" ; + ObSysVars[128].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[128].id_ = SYS_VAR_SQL_THROTTLE_IO ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_IO)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_IO] = 128 ; + ObSysVars[128].alias_ = "OB_SV_SQL_THROTTLE_IO" ; + + ObSysVars[129].info_ = "query may not be allowed to execute if its network usage isnt less than this value." ; + ObSysVars[129].name_ = "sql_throttle_network" ; + ObSysVars[129].data_type_ = ObNumberType ; + ObSysVars[129].value_ = "-1" ; + ObSysVars[129].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[129].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_sql_throttle_queue_time" ; + ObSysVars[129].id_ = SYS_VAR_SQL_THROTTLE_NETWORK ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_NETWORK)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_NETWORK] = 129 ; + ObSysVars[129].alias_ = "OB_SV_SQL_THROTTLE_NETWORK" ; + + ObSysVars[130].info_ = "query may not be allowed to execute if its number of logical reads isnt less than this value." ; + ObSysVars[130].name_ = "sql_throttle_logical_reads" ; + ObSysVars[130].data_type_ = ObIntType ; + ObSysVars[130].value_ = "-1" ; + ObSysVars[130].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[130].id_ = SYS_VAR_SQL_THROTTLE_LOGICAL_READS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SQL_THROTTLE_LOGICAL_READS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SQL_THROTTLE_LOGICAL_READS] = 130 ; + ObSysVars[130].alias_ = "OB_SV_SQL_THROTTLE_LOGICAL_READS" ; + + ObSysVars[131].info_ = "auto_increment service cache size" ; + ObSysVars[131].name_ = "auto_increment_cache_size" ; + ObSysVars[131].data_type_ = ObIntType ; + ObSysVars[131].value_ = "1000000" ; + ObSysVars[131].min_val_ = "1" ; + ObSysVars[131].max_val_ = "100000000" ; + ObSysVars[131].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[131].id_ = SYS_VAR_AUTO_INCREMENT_CACHE_SIZE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_AUTO_INCREMENT_CACHE_SIZE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_AUTO_INCREMENT_CACHE_SIZE] = 131 ; + ObSysVars[131].alias_ = "OB_SV_AUTO_INCREMENT_CACHE_SIZE" ; + + ObSysVars[132].info_ = "JIT execution engine mode, default is AUTO" ; + ObSysVars[132].name_ = "ob_enable_jit" ; + ObSysVars[132].data_type_ = ObIntType ; + ObSysVars[132].enum_names_ = "[u'OFF', u'AUTO', u'FORCE']" ; + ObSysVars[132].value_ = "0" ; + ObSysVars[132].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[132].id_ = SYS_VAR_OB_ENABLE_JIT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_JIT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_JIT] = 132 ; + ObSysVars[132].alias_ = "OB_SV_ENABLE_JIT" ; + + ObSysVars[133].info_ = "the percentage limitation of some temp tablespace size in tenant disk." ; + ObSysVars[133].name_ = "ob_temp_tablespace_size_percentage" ; + ObSysVars[133].data_type_ = ObIntType ; + ObSysVars[133].value_ = "0" ; + ObSysVars[133].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[133].id_ = SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TEMP_TABLESPACE_SIZE_PERCENTAGE] = 133 ; + ObSysVars[133].alias_ = "OB_SV_TEMP_TABLESPACE_SIZE_PERCENTAGE" ; + + ObSysVars[134].info_ = "Enable use of adaptive cursor sharing" ; + ObSysVars[134].name_ = "_optimizer_adaptive_cursor_sharing" ; + ObSysVars[134].data_type_ = ObIntType ; + ObSysVars[134].value_ = "0" ; + ObSysVars[134].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[134].id_ = SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__OPTIMIZER_ADAPTIVE_CURSOR_SHARING] = 134 ; + ObSysVars[134].alias_ = "OB_SV__OPTIMIZER_ADAPTIVE_CURSOR_SHARING" ; + + ObSysVars[135].info_ = "the type of timestamp service" ; + ObSysVars[135].name_ = "ob_timestamp_service" ; + ObSysVars[135].data_type_ = ObIntType ; + ObSysVars[135].enum_names_ = "[u'LTS', u'GTS', u'HA_GTS']" ; + ObSysVars[135].value_ = "1" ; + ObSysVars[135].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[135].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timestamp_service" ; + ObSysVars[135].id_ = SYS_VAR_OB_TIMESTAMP_SERVICE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TIMESTAMP_SERVICE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TIMESTAMP_SERVICE] = 135 ; + ObSysVars[135].alias_ = "OB_SV_TIMESTAMP_SERVICE" ; + + ObSysVars[136].info_ = "the dir to place plugin dll" ; + ObSysVars[136].name_ = "plugin_dir" ; + ObSysVars[136].data_type_ = ObVarcharType ; + ObSysVars[136].value_ = "./plugin_dir/" ; + ObSysVars[136].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::READONLY ; + ObSysVars[136].id_ = SYS_VAR_PLUGIN_DIR ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PLUGIN_DIR)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_PLUGIN_DIR] = 136 ; + ObSysVars[136].alias_ = "OB_SV_PLUGIN_DIR" ; + + ObSysVars[137].info_ = "specifies (in seconds) the low threshold value of undo retention." ; + ObSysVars[137].name_ = "undo_retention" ; + ObSysVars[137].data_type_ = ObIntType ; + ObSysVars[137].value_ = "0" ; + ObSysVars[137].min_val_ = "0" ; + ObSysVars[137].max_val_ = "4294967295" ; + ObSysVars[137].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[137].id_ = SYS_VAR_UNDO_RETENTION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_UNDO_RETENTION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_UNDO_RETENTION] = 137 ; + ObSysVars[137].alias_ = "OB_SV_UNDO_RETENTION" ; + + ObSysVars[138].info_ = "auto use parallel execution" ; + ObSysVars[138].name_ = "_ob_use_parallel_execution" ; + ObSysVars[138].data_type_ = ObIntType ; + ObSysVars[138].value_ = "1" ; + ObSysVars[138].flags_ = ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::INVISIBLE ; + ObSysVars[138].id_ = SYS_VAR__OB_USE_PARALLEL_EXECUTION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_USE_PARALLEL_EXECUTION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__OB_USE_PARALLEL_EXECUTION] = 138 ; + ObSysVars[138].alias_ = "OB_SV__OB_USE_PARALLEL_EXECUTION" ; + + ObSysVars[139].info_ = "The limited percentage of tenant memory for sql audit" ; + ObSysVars[139].name_ = "ob_sql_audit_percentage" ; + ObSysVars[139].data_type_ = ObIntType ; + ObSysVars[139].value_ = "3" ; + ObSysVars[139].min_val_ = "0" ; + ObSysVars[139].max_val_ = "100" ; + ObSysVars[139].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[139].id_ = SYS_VAR_OB_SQL_AUDIT_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_SQL_AUDIT_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_SQL_AUDIT_PERCENTAGE] = 139 ; + ObSysVars[139].alias_ = "OB_SV_SQL_AUDIT_PERCENTAGE" ; + + ObSysVars[140].info_ = "wether use sql audit in session" ; + ObSysVars[140].name_ = "ob_enable_sql_audit" ; + ObSysVars[140].data_type_ = ObIntType ; + ObSysVars[140].value_ = "1" ; + ObSysVars[140].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[140].id_ = SYS_VAR_OB_ENABLE_SQL_AUDIT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_SQL_AUDIT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_SQL_AUDIT] = 140 ; + ObSysVars[140].alias_ = "OB_SV_ENABLE_SQL_AUDIT" ; + + ObSysVars[141].info_ = "Enable use sql plan baseline" ; + ObSysVars[141].name_ = "optimizer_use_sql_plan_baselines" ; + ObSysVars[141].data_type_ = ObIntType ; + ObSysVars[141].value_ = "1" ; + ObSysVars[141].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[141].id_ = SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OPTIMIZER_USE_SQL_PLAN_BASELINES] = 141 ; + ObSysVars[141].alias_ = "OB_SV_OPTIMIZER_USE_SQL_PLAN_BASELINES" ; + + ObSysVars[142].info_ = "optimizer_capture_sql_plan_baselines enables or disables automitic capture plan baseline." ; + ObSysVars[142].name_ = "optimizer_capture_sql_plan_baselines" ; + ObSysVars[142].data_type_ = ObIntType ; + ObSysVars[142].value_ = "1" ; + ObSysVars[142].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[142].id_ = SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES] = 142 ; + ObSysVars[142].alias_ = "OB_SV_OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES" ; + + ObSysVars[143].info_ = "number of threads created to run parallel statements for each observer." ; + ObSysVars[143].name_ = "parallel_max_servers" ; + ObSysVars[143].data_type_ = ObIntType ; + ObSysVars[143].value_ = "0" ; + ObSysVars[143].min_val_ = "0" ; + ObSysVars[143].max_val_ = "1800" ; + ObSysVars[143].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[143].id_ = SYS_VAR_PARALLEL_MAX_SERVERS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PARALLEL_MAX_SERVERS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_PARALLEL_MAX_SERVERS] = 143 ; + ObSysVars[143].alias_ = "OB_SV_PARALLEL_MAX_SERVERS" ; + + ObSysVars[144].info_ = "number of threads allowed to run parallel statements before statement queuing will be used." ; + ObSysVars[144].name_ = "parallel_servers_target" ; + ObSysVars[144].data_type_ = ObIntType ; + ObSysVars[144].value_ = "0" ; + ObSysVars[144].min_val_ = "0" ; + ObSysVars[144].max_val_ = "9223372036854775807" ; + ObSysVars[144].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[144].id_ = SYS_VAR_PARALLEL_SERVERS_TARGET ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PARALLEL_SERVERS_TARGET)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_PARALLEL_SERVERS_TARGET] = 144 ; + ObSysVars[144].alias_ = "OB_SV_PARALLEL_SERVERS_TARGET" ; + + ObSysVars[145].info_ = "If set true, transaction open the elr optimization." ; + ObSysVars[145].name_ = "ob_early_lock_release" ; + ObSysVars[145].data_type_ = ObIntType ; + ObSysVars[145].value_ = "0" ; + ObSysVars[145].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[145].id_ = SYS_VAR_OB_EARLY_LOCK_RELEASE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_EARLY_LOCK_RELEASE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_EARLY_LOCK_RELEASE] = 145 ; + ObSysVars[145].alias_ = "OB_SV_EARLY_LOCK_RELEASE" ; + + ObSysVars[146].info_ = "The stmt interval timeout of transaction(us)" ; + ObSysVars[146].name_ = "ob_trx_idle_timeout" ; + ObSysVars[146].data_type_ = ObIntType ; + ObSysVars[146].value_ = "120000000" ; + ObSysVars[146].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[146].id_ = SYS_VAR_OB_TRX_IDLE_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRX_IDLE_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRX_IDLE_TIMEOUT] = 146 ; + ObSysVars[146].alias_ = "OB_SV_TRX_IDLE_TIMEOUT" ; + + ObSysVars[147].info_ = "specifies the encryption algorithm used in the functions aes_encrypt and aes_decrypt" ; + ObSysVars[147].name_ = "block_encryption_mode" ; + ObSysVars[147].data_type_ = ObIntType ; + ObSysVars[147].enum_names_ = "[u'aes-128-ecb', u'aes-192-ecb', u'aes-256-ecb', u'aes-128-cbc', u'aes-192-cbc', u'aes-256-cbc', u'aes-128-cfb1', u'aes-192-cfb1', u'aes-256-cfb1', u'aes-128-cfb8', u'aes-192-cfb8', u'aes-256-cfb8', u'aes-128-cfb128', u'aes-192-cfb128', u'aes-256-cfb128', u'aes-128-ofb', u'aes-192-ofb', u'aes-256-ofb']" ; + ObSysVars[147].value_ = "0" ; + ObSysVars[147].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[147].id_ = SYS_VAR_BLOCK_ENCRYPTION_MODE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_BLOCK_ENCRYPTION_MODE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_BLOCK_ENCRYPTION_MODE] = 147 ; + ObSysVars[147].alias_ = "OB_SV_BLOCK_ENCRYPTION_MODE" ; + + ObSysVars[148].info_ = "specifies the default date format to use with the TO_CHAR and TO_DATE functions, (YYYY-MM-DD HH24:MI:SS) is Common value" ; + ObSysVars[148].name_ = "nls_date_format" ; + ObSysVars[148].data_type_ = ObVarcharType ; + ObSysVars[148].value_ = "DD-MON-RR" ; + ObSysVars[148].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[148].id_ = SYS_VAR_NLS_DATE_FORMAT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_DATE_FORMAT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_DATE_FORMAT] = 148 ; + ObSysVars[148].alias_ = "OB_SV_NLS_DATE_FORMAT" ; + + ObSysVars[149].info_ = "specifies the default date format to use with the TO_CHAR and TO_TIMESTAMP functions, (YYYY-MM-DD HH24:MI:SS.FF) is Common value" ; + ObSysVars[149].name_ = "nls_timestamp_format" ; + ObSysVars[149].data_type_ = ObVarcharType ; + ObSysVars[149].value_ = "DD-MON-RR HH.MI.SSXFF AM" ; + ObSysVars[149].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[149].id_ = SYS_VAR_NLS_TIMESTAMP_FORMAT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_TIMESTAMP_FORMAT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_TIMESTAMP_FORMAT] = 149 ; + ObSysVars[149].alias_ = "OB_SV_NLS_TIMESTAMP_FORMAT" ; + + ObSysVars[150].info_ = "specifies the default timestamp with time zone format to use with the TO_CHAR and TO_TIMESTAMP_TZ functions, (YYYY-MM-DD HH24:MI:SS.FF TZR TZD) is common value" ; + ObSysVars[150].name_ = "nls_timestamp_tz_format" ; + ObSysVars[150].data_type_ = ObVarcharType ; + ObSysVars[150].value_ = "DD-MON-RR HH.MI.SSXFF AM TZR" ; + ObSysVars[150].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[150].id_ = SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_TIMESTAMP_TZ_FORMAT] = 150 ; + ObSysVars[150].alias_ = "OB_SV_NLS_TIMESTAMP_TZ_FORMAT" ; + + ObSysVars[151].info_ = "percentage of tenant memory resources that can be used by tenant meta data" ; + ObSysVars[151].name_ = "ob_reserved_meta_memory_percentage" ; + ObSysVars[151].data_type_ = ObIntType ; + ObSysVars[151].value_ = "10" ; + ObSysVars[151].min_val_ = "1" ; + ObSysVars[151].max_val_ = "100" ; + ObSysVars[151].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[151].id_ = SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_RESERVED_META_MEMORY_PERCENTAGE] = 151 ; + ObSysVars[151].alias_ = "OB_SV_RESERVED_META_MEMORY_PERCENTAGE" ; + + ObSysVars[152].info_ = "If set true, sql will update sys variable while schema version changed." ; + ObSysVars[152].name_ = "ob_check_sys_variable" ; + ObSysVars[152].data_type_ = ObIntType ; + ObSysVars[152].value_ = "1" ; + ObSysVars[152].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[152].id_ = SYS_VAR_OB_CHECK_SYS_VARIABLE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_CHECK_SYS_VARIABLE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_CHECK_SYS_VARIABLE] = 152 ; + ObSysVars[152].alias_ = "OB_SV_CHECK_SYS_VARIABLE" ; + + ObSysVars[153].info_ = "specifies the default language of the database, used for messages, day and month names, the default sorting mechanism, the default values of NLS_DATE_LANGUAGE and NLS_SORT." ; + ObSysVars[153].name_ = "nls_language" ; + ObSysVars[153].data_type_ = ObVarcharType ; + ObSysVars[153].value_ = "AMERICAN" ; + ObSysVars[153].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[153].id_ = SYS_VAR_NLS_LANGUAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_LANGUAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_LANGUAGE] = 153 ; + ObSysVars[153].alias_ = "OB_SV_NLS_LANGUAGE" ; + + ObSysVars[154].info_ = "specifies the name of the territory whose conventions are to be followed for day and week numbering, establishes the default date format, the default decimal character and group separator, and the default ISO and local currency symbols." ; + ObSysVars[154].name_ = "nls_territory" ; + ObSysVars[154].data_type_ = ObVarcharType ; + ObSysVars[154].value_ = "AMERICA" ; + ObSysVars[154].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[154].id_ = SYS_VAR_NLS_TERRITORY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_TERRITORY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_TERRITORY] = 154 ; + ObSysVars[154].alias_ = "OB_SV_NLS_TERRITORY" ; + + ObSysVars[155].info_ = "specifies the collating sequence for character value comparison in various SQL operators and clauses." ; + ObSysVars[155].name_ = "nls_sort" ; + ObSysVars[155].data_type_ = ObVarcharType ; + ObSysVars[155].value_ = "BINARY" ; + ObSysVars[155].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[155].id_ = SYS_VAR_NLS_SORT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_SORT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_SORT] = 155 ; + ObSysVars[155].alias_ = "OB_SV_NLS_SORT" ; + + ObSysVars[156].info_ = "specifies the collation behavior of the database session. value can be BINARY | LINGUISTIC | ANSI" ; + ObSysVars[156].name_ = "nls_comp" ; + ObSysVars[156].data_type_ = ObVarcharType ; + ObSysVars[156].value_ = "BINARY" ; + ObSysVars[156].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[156].id_ = SYS_VAR_NLS_COMP ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_COMP)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_COMP] = 156 ; + ObSysVars[156].alias_ = "OB_SV_NLS_COMP" ; + + ObSysVars[157].info_ = "specifies the default characterset of the database, This parameter defines the encoding of the data in the CHAR, VARCHAR2, LONG and CLOB columns of a table." ; + ObSysVars[157].name_ = "nls_characterset" ; + ObSysVars[157].data_type_ = ObVarcharType ; + ObSysVars[157].value_ = "AL32UTF8" ; + ObSysVars[157].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::WITH_CREATE | ObSysVarFlag::READONLY ; + ObSysVars[157].id_ = SYS_VAR_NLS_CHARACTERSET ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_CHARACTERSET)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_CHARACTERSET] = 157 ; + ObSysVars[157].alias_ = "OB_SV_NLS_CHARACTERSET" ; + + ObSysVars[158].info_ = "specifies the default characterset of the database, This parameter defines the encoding of the data in the NCHAR, NVARCHAR2 and NCLOB columns of a table." ; + ObSysVars[158].name_ = "nls_nchar_characterset" ; + ObSysVars[158].data_type_ = ObVarcharType ; + ObSysVars[158].value_ = "AL32UTF8" ; + ObSysVars[158].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[158].id_ = SYS_VAR_NLS_NCHAR_CHARACTERSET ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_NCHAR_CHARACTERSET)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_NCHAR_CHARACTERSET] = 158 ; + ObSysVars[158].alias_ = "OB_SV_NLS_NCHAR_CHARACTERSET" ; + + ObSysVars[159].info_ = "specifies the language to use for the spelling of day and month names and date abbreviations (a.m., p.m., AD, BC) returned by the TO_DATE and TO_CHAR functions." ; + ObSysVars[159].name_ = "nls_date_language" ; + ObSysVars[159].data_type_ = ObVarcharType ; + ObSysVars[159].value_ = "AMERICAN" ; + ObSysVars[159].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[159].id_ = SYS_VAR_NLS_DATE_LANGUAGE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_DATE_LANGUAGE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_DATE_LANGUAGE] = 159 ; + ObSysVars[159].alias_ = "OB_SV_NLS_DATE_LANGUAGE" ; + + ObSysVars[160].info_ = "specifies the default length semantics to use for VARCHAR2 and CHAR table columns, user-defined object attributes, and PL/SQL variables in database objects created in the session. SYS user use BYTE intead of NLS_LENGTH_SEMANTICS." ; + ObSysVars[160].name_ = "nls_length_semantics" ; + ObSysVars[160].data_type_ = ObVarcharType ; + ObSysVars[160].value_ = "BYTE" ; + ObSysVars[160].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[160].id_ = SYS_VAR_NLS_LENGTH_SEMANTICS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_LENGTH_SEMANTICS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_LENGTH_SEMANTICS] = 160 ; + ObSysVars[160].alias_ = "OB_SV_NLS_LENGTH_SEMANTICS" ; + + ObSysVars[161].info_ = "determines whether an error is reported when there is data loss during an implicit or explicit character type conversion between NCHAR/NVARCHAR2 and CHAR/VARCHAR2." ; + ObSysVars[161].name_ = "nls_nchar_conv_excp" ; + ObSysVars[161].data_type_ = ObVarcharType ; + ObSysVars[161].value_ = "FALSE" ; + ObSysVars[161].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[161].id_ = SYS_VAR_NLS_NCHAR_CONV_EXCP ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_NCHAR_CONV_EXCP)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_NCHAR_CONV_EXCP] = 161 ; + ObSysVars[161].alias_ = "OB_SV_NLS_NCHAR_CONV_EXCP" ; + + ObSysVars[162].info_ = "specifies which calendar system Oracle uses." ; + ObSysVars[162].name_ = "nls_calendar" ; + ObSysVars[162].data_type_ = ObVarcharType ; + ObSysVars[162].value_ = "GREGORIAN" ; + ObSysVars[162].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[162].id_ = SYS_VAR_NLS_CALENDAR ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_CALENDAR)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_CALENDAR] = 162 ; + ObSysVars[162].alias_ = "OB_SV_NLS_CALENDAR" ; + + ObSysVars[163].info_ = "specifies the characters to use as the decimal character and group separator, overrides those characters defined implicitly by NLS_TERRITORY." ; + ObSysVars[163].name_ = "nls_numeric_characters" ; + ObSysVars[163].data_type_ = ObVarcharType ; + ObSysVars[163].value_ = ".," ; + ObSysVars[163].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[163].id_ = SYS_VAR_NLS_NUMERIC_CHARACTERS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_NUMERIC_CHARACTERS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_NUMERIC_CHARACTERS] = 163 ; + ObSysVars[163].alias_ = "OB_SV_NLS_NUMERIC_CHARACTERS" ; + + ObSysVars[164].info_ = "enable batching of the RHS IO in NLJ" ; + ObSysVars[164].name_ = "_nlj_batching_enabled" ; + ObSysVars[164].data_type_ = ObIntType ; + ObSysVars[164].value_ = "1" ; + ObSysVars[164].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[164].id_ = SYS_VAR__NLJ_BATCHING_ENABLED ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__NLJ_BATCHING_ENABLED)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__NLJ_BATCHING_ENABLED] = 164 ; + ObSysVars[164].alias_ = "OB_SV__NLJ_BATCHING_ENABLED" ; + + ObSysVars[165].info_ = "The name of tracefile." ; + ObSysVars[165].name_ = "tracefile_identifier" ; + ObSysVars[165].data_type_ = ObVarcharType ; + ObSysVars[165].value_ = "" ; + ObSysVars[165].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[165].id_ = SYS_VAR_TRACEFILE_IDENTIFIER ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TRACEFILE_IDENTIFIER)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TRACEFILE_IDENTIFIER] = 165 ; + ObSysVars[165].alias_ = "OB_SV_TRACEFILE_IDENTIFIER" ; + + ObSysVars[166].info_ = "ratio used to decide whether push down should be done in distribtued query optimization." ; + ObSysVars[166].name_ = "_groupby_nopushdown_cut_ratio" ; + ObSysVars[166].data_type_ = ObUInt64Type ; + ObSysVars[166].value_ = "3" ; + ObSysVars[166].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[166].id_ = SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__GROUPBY_NOPUSHDOWN_CUT_RATIO] = 166 ; + ObSysVars[166].alias_ = "OB_SV__GROUPBY_NOPUSHDOWN_CUT_RATIO" ; + + ObSysVars[167].info_ = "set the tq broadcasting fudge factor percentage." ; + ObSysVars[167].name_ = "_px_broadcast_fudge_factor" ; + ObSysVars[167].data_type_ = ObIntType ; + ObSysVars[167].value_ = "100" ; + ObSysVars[167].min_val_ = "0" ; + ObSysVars[167].max_val_ = "100" ; + ObSysVars[167].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[167].id_ = SYS_VAR__PX_BROADCAST_FUDGE_FACTOR ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PX_BROADCAST_FUDGE_FACTOR)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__PX_BROADCAST_FUDGE_FACTOR] = 167 ; + ObSysVars[167].alias_ = "OB_SV__PX_BROADCAST_FUDGE_FACTOR" ; + + ObSysVars[168].info_ = "statistic primary zone entity(table/tablegroup/database) count under tenant." ; + ObSysVars[168].name_ = "_primary_zone_entity_count" ; + ObSysVars[168].data_type_ = ObIntType ; + ObSysVars[168].value_ = "-1" ; + ObSysVars[168].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::READONLY | ObSysVarFlag::INVISIBLE ; + ObSysVars[168].id_ = SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__PRIMARY_ZONE_ENTITY_COUNT] = 168 ; + ObSysVars[168].alias_ = "OB_SV__PRIMARY_ZONE_ENTITY_COUNT" ; + + ObSysVars[169].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_isolation" ; + ObSysVars[169].info_ = "Transaction Isolcation Levels: READ-UNCOMMITTED READ-COMMITTED REPEATABLE-READ SERIALIZABLE" ; + ObSysVars[169].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_isolation" ; + ObSysVars[169].data_type_ = ObVarcharType ; + ObSysVars[169].value_ = "READ-COMMITTED" ; + ObSysVars[169].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[169].base_class_ = "ObSessionSpecialVarcharSysVar" ; + ObSysVars[169].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_isolation" ; + ObSysVars[169].id_ = SYS_VAR_TRANSACTION_ISOLATION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TRANSACTION_ISOLATION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TRANSACTION_ISOLATION] = 169 ; + ObSysVars[169].name_ = "transaction_isolation" ; + ObSysVars[169].alias_ = "OB_SV_TRANSACTION_ISOLATION" ; + + ObSysVars[170].info_ = "the max duration of waiting on row lock of one transaction" ; + ObSysVars[170].name_ = "ob_trx_lock_timeout" ; + ObSysVars[170].data_type_ = ObIntType ; + ObSysVars[170].value_ = "-1" ; + ObSysVars[170].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[170].id_ = SYS_VAR_OB_TRX_LOCK_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRX_LOCK_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRX_LOCK_TIMEOUT] = 170 ; + ObSysVars[170].alias_ = "OB_SV_TRX_LOCK_TIMEOUT" ; + + ObSysVars[171].info_ = "" ; + ObSysVars[171].name_ = "validate_password_check_user_name" ; + ObSysVars[171].data_type_ = ObIntType ; + ObSysVars[171].enum_names_ = "[u'on', u'off']" ; + ObSysVars[171].value_ = "0" ; + ObSysVars[171].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[171].id_ = SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_CHECK_USER_NAME] = 171 ; + ObSysVars[171].alias_ = "OB_SV_VALIDATE_PASSWORD_CHECK_USER_NAME" ; + + ObSysVars[172].info_ = "" ; + ObSysVars[172].name_ = "validate_password_length" ; + ObSysVars[172].data_type_ = ObUInt64Type ; + ObSysVars[172].value_ = "0" ; + ObSysVars[172].min_val_ = "0" ; + ObSysVars[172].max_val_ = "2147483647" ; + ObSysVars[172].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[172].id_ = SYS_VAR_VALIDATE_PASSWORD_LENGTH ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_LENGTH)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_LENGTH] = 172 ; + ObSysVars[172].alias_ = "OB_SV_VALIDATE_PASSWORD_LENGTH" ; + + ObSysVars[173].info_ = "" ; + ObSysVars[173].name_ = "validate_password_mixed_case_count" ; + ObSysVars[173].data_type_ = ObUInt64Type ; + ObSysVars[173].value_ = "0" ; + ObSysVars[173].min_val_ = "0" ; + ObSysVars[173].max_val_ = "2147483647" ; + ObSysVars[173].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[173].id_ = SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_MIXED_CASE_COUNT] = 173 ; + ObSysVars[173].alias_ = "OB_SV_VALIDATE_PASSWORD_MIXED_CASE_COUNT" ; + + ObSysVars[174].info_ = "" ; + ObSysVars[174].name_ = "validate_password_number_count" ; + ObSysVars[174].data_type_ = ObUInt64Type ; + ObSysVars[174].value_ = "0" ; + ObSysVars[174].min_val_ = "0" ; + ObSysVars[174].max_val_ = "2147483647" ; + ObSysVars[174].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[174].id_ = SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_NUMBER_COUNT] = 174 ; + ObSysVars[174].alias_ = "OB_SV_VALIDATE_PASSWORD_NUMBER_COUNT" ; + + ObSysVars[175].info_ = "" ; + ObSysVars[175].name_ = "validate_password_policy" ; + ObSysVars[175].data_type_ = ObIntType ; + ObSysVars[175].enum_names_ = "[u'low', u'medium']" ; + ObSysVars[175].value_ = "0" ; + ObSysVars[175].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[175].id_ = SYS_VAR_VALIDATE_PASSWORD_POLICY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_POLICY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_POLICY] = 175 ; + ObSysVars[175].alias_ = "OB_SV_VALIDATE_PASSWORD_POLICY" ; + + ObSysVars[176].info_ = "" ; + ObSysVars[176].name_ = "validate_password_special_char_count" ; + ObSysVars[176].data_type_ = ObUInt64Type ; + ObSysVars[176].value_ = "0" ; + ObSysVars[176].min_val_ = "0" ; + ObSysVars[176].max_val_ = "2147483647" ; + ObSysVars[176].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[176].id_ = SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT] = 176 ; + ObSysVars[176].alias_ = "OB_SV_VALIDATE_PASSWORD_SPECIAL_CHAR_COUNT" ; + + ObSysVars[177].info_ = "" ; + ObSysVars[177].name_ = "default_password_lifetime" ; + ObSysVars[177].data_type_ = ObUInt64Type ; + ObSysVars[177].value_ = "0" ; + ObSysVars[177].min_val_ = "0" ; + ObSysVars[177].max_val_ = "65535" ; + ObSysVars[177].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[177].id_ = SYS_VAR_DEFAULT_PASSWORD_LIFETIME ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_DEFAULT_PASSWORD_LIFETIME)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_DEFAULT_PASSWORD_LIFETIME] = 177 ; + ObSysVars[177].alias_ = "OB_SV_DEFAULT_PASSWORD_LIFETIME" ; + + ObSysVars[178].info_ = "store trace info" ; + ObSysVars[178].name_ = "ob_trace_info" ; + ObSysVars[178].data_type_ = ObVarcharType ; + ObSysVars[178].value_ = "" ; + ObSysVars[178].flags_ = ObSysVarFlag::SESSION_SCOPE ; + ObSysVars[178].id_ = SYS_VAR_OB_TRACE_INFO ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_TRACE_INFO)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_TRACE_INFO] = 178 ; + ObSysVars[178].alias_ = "OB_SV_TRACE_INFO" ; + + ObSysVars[179].info_ = "enable use of batched multi statement" ; + ObSysVars[179].name_ = "ob_enable_batched_multi_statement" ; + ObSysVars[179].data_type_ = ObIntType ; + ObSysVars[179].value_ = "0" ; + ObSysVars[179].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[179].id_ = SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_ENABLE_BATCHED_MULTI_STATEMENT] = 179 ; + ObSysVars[179].alias_ = "OB_SV_ENABLE_BATCHED_MULTI_STATEMENT" ; + + ObSysVars[180].info_ = "least number of partitions per slave to start partition-based scan" ; + ObSysVars[180].name_ = "_px_partition_scan_threshold" ; + ObSysVars[180].data_type_ = ObIntType ; + ObSysVars[180].value_ = "64" ; + ObSysVars[180].min_val_ = "0" ; + ObSysVars[180].max_val_ = "100" ; + ObSysVars[180].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[180].id_ = SYS_VAR__PX_PARTITION_SCAN_THRESHOLD ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PX_PARTITION_SCAN_THRESHOLD)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__PX_PARTITION_SCAN_THRESHOLD] = 180 ; + ObSysVars[180].alias_ = "OB_SV__PX_PARTITION_SCAN_THRESHOLD" ; + + ObSysVars[181].info_ = "broadcast optimization." ; + ObSysVars[181].name_ = "_ob_px_bcast_optimization" ; + ObSysVars[181].data_type_ = ObIntType ; + ObSysVars[181].enum_names_ = "[u'WORKER', u'SERVER']" ; + ObSysVars[181].value_ = "1" ; + ObSysVars[181].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[181].id_ = SYS_VAR__OB_PX_BCAST_OPTIMIZATION ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_PX_BCAST_OPTIMIZATION)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__OB_PX_BCAST_OPTIMIZATION] = 181 ; + ObSysVars[181].alias_ = "OB_SV__OB_PX_BCAST_OPTIMIZATION" ; + + ObSysVars[182].info_ = "percentage threshold to use slave mapping plan" ; + ObSysVars[182].name_ = "_ob_px_slave_mapping_threshold" ; + ObSysVars[182].data_type_ = ObIntType ; + ObSysVars[182].value_ = "200" ; + ObSysVars[182].min_val_ = "0" ; + ObSysVars[182].max_val_ = "1000" ; + ObSysVars[182].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[182].id_ = SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__OB_PX_SLAVE_MAPPING_THRESHOLD] = 182 ; + ObSysVars[182].alias_ = "OB_SV__OB_PX_SLAVE_MAPPING_THRESHOLD" ; + + ObSysVars[183].info_ = "A DML statement can be parallelized only if you have explicitly enabled parallel DML in the session or in the SQL statement." ; + ObSysVars[183].name_ = "_enable_parallel_dml" ; + ObSysVars[183].data_type_ = ObIntType ; + ObSysVars[183].value_ = "0" ; + ObSysVars[183].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[183].id_ = SYS_VAR__ENABLE_PARALLEL_DML ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__ENABLE_PARALLEL_DML)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__ENABLE_PARALLEL_DML] = 183 ; + ObSysVars[183].alias_ = "OB_SV__ENABLE_PARALLEL_DML" ; + + ObSysVars[184].info_ = "minimum number of rowid range granules to generate per slave." ; + ObSysVars[184].name_ = "_px_min_granules_per_slave" ; + ObSysVars[184].data_type_ = ObIntType ; + ObSysVars[184].value_ = "13" ; + ObSysVars[184].min_val_ = "0" ; + ObSysVars[184].max_val_ = "100" ; + ObSysVars[184].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[184].id_ = SYS_VAR__PX_MIN_GRANULES_PER_SLAVE ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__PX_MIN_GRANULES_PER_SLAVE)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__PX_MIN_GRANULES_PER_SLAVE] = 184 ; + ObSysVars[184].alias_ = "OB_SV__PX_MIN_GRANULES_PER_SLAVE" ; + + ObSysVars[185].info_ = "limit the effect of data import and export operations" ; + ObSysVars[185].name_ = "secure_file_priv" ; + ObSysVars[185].data_type_ = ObVarcharType ; + ObSysVars[185].value_ = "NULL" ; + ObSysVars[185].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::INFLUENCE_PLAN | ObSysVarFlag::NULLABLE ; + ObSysVars[185].id_ = SYS_VAR_SECURE_FILE_PRIV ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_SECURE_FILE_PRIV)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_SECURE_FILE_PRIV] = 185 ; + ObSysVars[185].alias_ = "OB_SV_SECURE_FILE_PRIV" ; + + ObSysVars[186].info_ = "enables or disables the reporting of warning messages by the PL/SQL compiler, and specifies which warning messages to show as errors." ; + ObSysVars[186].name_ = "plsql_warnings" ; + ObSysVars[186].data_type_ = ObVarcharType ; + ObSysVars[186].value_ = "ENABLE:ALL" ; + ObSysVars[186].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[186].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_plsql_warnings" ; + ObSysVars[186].id_ = SYS_VAR_PLSQL_WARNINGS ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PLSQL_WARNINGS)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_PLSQL_WARNINGS] = 186 ; + ObSysVars[186].alias_ = "OB_SV_PLSQL_WARNINGS" ; + + ObSysVars[187].info_ = "A QUERY statement can be parallelized only if you have explicitly enabled parallel QUERY in the session or in the SQL statement." ; + ObSysVars[187].name_ = "_enable_parallel_query" ; + ObSysVars[187].data_type_ = ObIntType ; + ObSysVars[187].value_ = "1" ; + ObSysVars[187].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[187].id_ = SYS_VAR__ENABLE_PARALLEL_QUERY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__ENABLE_PARALLEL_QUERY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__ENABLE_PARALLEL_QUERY] = 187 ; + ObSysVars[187].alias_ = "OB_SV__ENABLE_PARALLEL_QUERY" ; + + ObSysVars[188].info_ = "A QUERY statement can be parallelized only if you have explicitly enabled parallel QUERY in the session or in the SQL statement." ; + ObSysVars[188].name_ = "_force_parallel_query_dop" ; + ObSysVars[188].data_type_ = ObUInt64Type ; + ObSysVars[188].value_ = "1" ; + ObSysVars[188].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[188].id_ = SYS_VAR__FORCE_PARALLEL_QUERY_DOP ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__FORCE_PARALLEL_QUERY_DOP)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__FORCE_PARALLEL_QUERY_DOP] = 188 ; + ObSysVars[188].alias_ = "OB_SV__FORCE_PARALLEL_QUERY_DOP" ; + + ObSysVars[189].info_ = "A QUERY statement can be parallelized only if you have explicitly enabled parallel QUERY in the session or in the SQL statement." ; + ObSysVars[189].name_ = "_force_parallel_dml_dop" ; + ObSysVars[189].data_type_ = ObUInt64Type ; + ObSysVars[189].value_ = "1" ; + ObSysVars[189].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::INVISIBLE | ObSysVarFlag::INFLUENCE_PLAN ; + ObSysVars[189].id_ = SYS_VAR__FORCE_PARALLEL_DML_DOP ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__FORCE_PARALLEL_DML_DOP)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__FORCE_PARALLEL_DML_DOP] = 189 ; + ObSysVars[189].alias_ = "OB_SV__FORCE_PARALLEL_DML_DOP" ; + + ObSysVars[190].info_ = "PL/SQL timeout in microsecond(us)" ; + ObSysVars[190].name_ = "ob_pl_block_timeout" ; + ObSysVars[190].data_type_ = ObIntType ; + ObSysVars[190].value_ = "3216672000000000" ; + ObSysVars[190].min_val_ = "0" ; + ObSysVars[190].max_val_ = "9223372036854775807" ; + ObSysVars[190].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[190].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_timeout_too_large" ; + ObSysVars[190].id_ = SYS_VAR_OB_PL_BLOCK_TIMEOUT ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_OB_PL_BLOCK_TIMEOUT)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_OB_PL_BLOCK_TIMEOUT] = 190 ; + ObSysVars[190].alias_ = "OB_SV_PL_BLOCK_TIMEOUT" ; + + ObSysVars[191].on_update_func_ = "ObSysVarOnUpdateFuncs::update_tx_read_only_no_scope" ; + ObSysVars[191].info_ = "Transaction access mode" ; + ObSysVars[191].session_special_update_func_ = "ObSysVarSessionSpecialUpdateFuncs::update_tx_read_only" ; + ObSysVars[191].data_type_ = ObIntType ; + ObSysVars[191].value_ = "0" ; + ObSysVars[191].flags_ = ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::NEED_SERIALIZE ; + ObSysVars[191].base_class_ = "ObSessionSpecialBoolSysVar" ; + ObSysVars[191].on_check_and_convert_func_ = "ObSysVarOnCheckFuncs::check_and_convert_tx_read_only" ; + ObSysVars[191].id_ = SYS_VAR_TRANSACTION_READ_ONLY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_TRANSACTION_READ_ONLY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_TRANSACTION_READ_ONLY] = 191 ; + ObSysVars[191].name_ = "transaction_read_only" ; + ObSysVars[191].alias_ = "OB_SV_TRANSACTION_READ_ONLY" ; + + ObSysVars[192].info_ = "specifies tenant resource plan." ; + ObSysVars[192].name_ = "resource_manager_plan" ; + ObSysVars[192].data_type_ = ObVarcharType ; + ObSysVars[192].value_ = "" ; + ObSysVars[192].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[192].id_ = SYS_VAR_RESOURCE_MANAGER_PLAN ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_RESOURCE_MANAGER_PLAN)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_RESOURCE_MANAGER_PLAN] = 192 ; + ObSysVars[192].alias_ = "OB_SV_RESOURCE_MANAGER_PLAN" ; + + ObSysVars[193].info_ = "indicate whether the Performance Schema is enabled" ; + ObSysVars[193].name_ = "performance_schema" ; + ObSysVars[193].data_type_ = ObIntType ; + ObSysVars[193].value_ = "0" ; + ObSysVars[193].flags_ = ObSysVarFlag::GLOBAL_SCOPE ; + ObSysVars[193].id_ = SYS_VAR_PERFORMANCE_SCHEMA ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_PERFORMANCE_SCHEMA)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_PERFORMANCE_SCHEMA] = 193 ; + ObSysVars[193].alias_ = "OB_SV_PERFORMANCE_SCHEMA" ; + + ObSysVars[194].info_ = "specifies the string to use as the local currency symbol for the L number format element. The default value of this parameter is determined by NLS_TERRITORY." ; + ObSysVars[194].name_ = "nls_currency" ; + ObSysVars[194].data_type_ = ObVarcharType ; + ObSysVars[194].value_ = "$" ; + ObSysVars[194].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[194].id_ = SYS_VAR_NLS_CURRENCY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_CURRENCY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_CURRENCY] = 194 ; + ObSysVars[194].alias_ = "OB_SV_NLS_CURRENCY" ; + + ObSysVars[195].info_ = "specifies the string to use as the international currency symbol for the C number format element. The default value of this parameter is determined by NLS_TERRITORY" ; + ObSysVars[195].name_ = "nls_iso_currency" ; + ObSysVars[195].data_type_ = ObVarcharType ; + ObSysVars[195].value_ = "AMERICA" ; + ObSysVars[195].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[195].id_ = SYS_VAR_NLS_ISO_CURRENCY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_ISO_CURRENCY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_ISO_CURRENCY] = 195 ; + ObSysVars[195].alias_ = "OB_SV_NLS_ISO_CURRENCY" ; + + ObSysVars[196].info_ = "specifies the dual currency symbol for the territory. The default is the dual currency symbol defined in the territory of your current language environment." ; + ObSysVars[196].name_ = "nls_dual_currency" ; + ObSysVars[196].data_type_ = ObVarcharType ; + ObSysVars[196].value_ = "$" ; + ObSysVars[196].flags_ = ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::GLOBAL_SCOPE | ObSysVarFlag::NEED_SERIALIZE | ObSysVarFlag::ORACLE_ONLY ; + ObSysVars[196].id_ = SYS_VAR_NLS_DUAL_CURRENCY ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR_NLS_DUAL_CURRENCY)) ; + ObSysVarsIdToArrayIdx[SYS_VAR_NLS_DUAL_CURRENCY] = 196 ; + ObSysVars[196].alias_ = "OB_SV_NLS_DUAL_CURRENCY" ; + + ObSysVars[197].info_ = "this value is true if we have executed set transaction stmt, until a transaction commit(explicit or implicit) successfully" ; + ObSysVars[197].name_ = "_ob_proxy_session_temporary_table_used" ; + ObSysVars[197].data_type_ = ObIntType ; + ObSysVars[197].value_ = "0" ; + ObSysVars[197].flags_ = ObSysVarFlag::READONLY | ObSysVarFlag::SESSION_SCOPE | ObSysVarFlag::INVISIBLE ; + ObSysVars[197].id_ = SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED ; + cur_max_var_id = MAX(cur_max_var_id, static_cast(SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED)) ; + ObSysVarsIdToArrayIdx[SYS_VAR__OB_PROXY_SESSION_TEMPORARY_TABLE_USED] = 197 ; + ObSysVars[197].alias_ = "OB_SV__OB_PROXY_SESSION_TEMPORARY_TABLE_USED" ; + + if (cur_max_var_id >= ObSysVarFactory::OB_MAX_SYS_VAR_ID) { HasInvalidSysVar = true; } } -} vars_init; - -static int64_t var_amount = 195; - -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_; -} -ObString ObSysVariables::get_name(int64_t i) -{ - return ObSysVars[i].name_; -} -ObObjType ObSysVariables::get_type(int64_t i) -{ - return ObSysVars[i].data_type_; -} -ObString ObSysVariables::get_value(int64_t i) -{ - return ObSysVars[i].value_; -} -ObString ObSysVariables::get_min(int64_t i) -{ - return ObSysVars[i].min_val_; -} -ObString ObSysVariables::get_max(int64_t i) -{ - return ObSysVars[i].max_val_; -} -ObString ObSysVariables::get_info(int64_t i) -{ - return ObSysVars[i].info_; -} -int64_t ObSysVariables::get_flags(int64_t i) -{ - return ObSysVars[i].flags_; -} -bool ObSysVariables::need_serialize(int64_t i) -{ - return ObSysVars[i].flags_ & ObSysVarFlag::NEED_SERIALIZE; -} -bool ObSysVariables::is_oracle_only(int64_t i) -{ - return ObSysVars[i].flags_ & ObSysVarFlag::ORACLE_ONLY; -} -bool ObSysVariables::is_mysql_only(int64_t i) -{ - return ObSysVars[i].flags_ & ObSysVarFlag::MYSQL_ONLY; -} -ObString ObSysVariables::get_alias(int64_t i) -{ - return ObSysVars[i].alias_; -} -const ObObj& ObSysVariables::get_default_value(int64_t i) -{ - return ObSysVarDefaultValues[i]; -} -int64_t ObSysVariables::get_amount() -{ - return var_amount; -} - -int ObSysVariables::set_value(const char* name, const char* new_value) +}vars_init; + +static int64_t var_amount = 198; + +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_;} +ObString ObSysVariables::get_name(int64_t i){ return ObSysVars[i].name_;} +ObObjType ObSysVariables::get_type(int64_t i){ return ObSysVars[i].data_type_;} +ObString ObSysVariables::get_value(int64_t i){ return ObSysVars[i].value_;} +ObString ObSysVariables::get_min(int64_t i){ return ObSysVars[i].min_val_;} +ObString ObSysVariables::get_max(int64_t i){ return ObSysVars[i].max_val_;} +ObString ObSysVariables::get_info(int64_t i){ return ObSysVars[i].info_;} +int64_t ObSysVariables::get_flags(int64_t i){ return ObSysVars[i].flags_;} +bool ObSysVariables::need_serialize(int64_t i){ return ObSysVars[i].flags_ & ObSysVarFlag::NEED_SERIALIZE;} +bool ObSysVariables::is_oracle_only(int64_t i){ return ObSysVars[i].flags_ & ObSysVarFlag::ORACLE_ONLY;} +bool ObSysVariables::is_mysql_only(int64_t i){ return ObSysVars[i].flags_ & ObSysVarFlag::MYSQL_ONLY;} +ObString ObSysVariables::get_alias(int64_t i){ return ObSysVars[i].alias_;} +const ObObj &ObSysVariables::get_default_value(int64_t i){ return ObSysVarDefaultValues[i];} +int64_t ObSysVariables::get_amount(){ return var_amount;} + +int ObSysVariables::set_value(const char *name, const char * new_value) { ObString tmp_name(static_cast(strlen(name)), name); ObString tmp_value(static_cast(strlen(new_value)), new_value); return set_value(tmp_name, tmp_value); } -int ObSysVariables::set_value(const common::ObString& name, const common::ObString& new_value) +int ObSysVariables::set_value(const common::ObString &name, const common::ObString &new_value) { int ret = OB_SUCCESS; bool name_exist = false; - for (int64_t i = 0; OB_SUCC(ret) && false == name_exist && i < var_amount; ++i) { + for (int64_t i = 0; OB_SUCC(ret) && false == name_exist && i < var_amount; ++i){ if (0 == ObSysVars[i].name_.compare(name)) { ObSysVars[i].value_.assign_ptr(new_value.ptr(), new_value.length()); name_exist = true; @@ -2386,9 +2267,8 @@ int ObSysVariables::init_default_values() int ret = OB_SUCCESS; int64_t sys_var_count = get_amount(); for (int64_t i = 0; OB_SUCC(ret) && i < sys_var_count; ++i) { - const ObString& sys_var_val_str = ObSysVariables::get_value(i); + const ObString &sys_var_val_str = ObSysVariables::get_value(i); const ObObjType sys_var_type = ObSysVariables::get_type(i); - const ObSysVarClassType sys_var_id = ObSysVariables::get_sys_var_id(i); if (OB_UNLIKELY(sys_var_type == ObTimestampType)) { ret = OB_ERR_UNEXPECTED; LOG_ERROR("need tz_info when cast to timestamp", K(ret), K(sys_var_val_str)); @@ -2397,20 +2277,18 @@ int ObSysVariables::init_default_values() ObObj out_obj; in_obj.set_varchar(sys_var_val_str); in_obj.set_collation_type(CS_TYPE_UTF8MB4_GENERAL_CI); - // varchar to others. so, no need to get collation from session - ObCastCtx cast_ctx(&ObSysVarAllocator, NULL, 0, CM_NONE, CS_TYPE_INVALID, NULL); + //varchar to others. so, no need to get collation from session + ObCastCtx cast_ctx(&ObSysVarAllocator, + NULL, + 0, + CM_NONE, + CS_TYPE_INVALID, + NULL); if (OB_FAIL(ObObjCaster::to_type(sys_var_type, cast_ctx, in_obj, out_obj))) { ObString sys_var_name = ObSysVariables::get_name(i); LOG_WARN("fail to cast object", - K(ret), - "cell", - in_obj, - "from_type", - ob_obj_type_str(in_obj.get_type()), - "to_type", - ob_obj_type_str(sys_var_type), - K(sys_var_name), - K(i)); + K(ret), "cell", in_obj, "from_type", ob_obj_type_str(in_obj.get_type()), + "to_type", ob_obj_type_str(sys_var_type), K(sys_var_name), K(i)); } else { if (ob_is_string_type(out_obj.get_type())) { out_obj.set_collation_level(CS_LEVEL_SYSCONST); @@ -2422,14 +2300,9 @@ int ObSysVariables::init_default_values() return ret; } -int64_t ObSysVarsToIdxMap::get_store_idx(int64_t var_id) -{ - return ObSysVarsIdToArrayIdx[var_id]; -} -bool ObSysVarsToIdxMap::has_invalid_sys_var_id() -{ - return HasInvalidSysVar; -} +int64_t ObSysVarsToIdxMap::get_store_idx(int64_t var_id){ return ObSysVarsIdToArrayIdx[var_id];} +bool ObSysVarsToIdxMap::has_invalid_sys_var_id(){ return HasInvalidSysVar;} + +} // end namespace share +} // end namespace oceanbase -} // end namespace share -} // end namespace oceanbase diff --git a/src/share/system_variable/ob_system_variable_init.h b/src/share/system_variable/ob_system_variable_init.h index 55334b99eb228b592c266a22470832f196a20e4a..7838a331dc35434378c71792620f7bdefadb9884 100644 --- a/src/share/system_variable/ob_system_variable_init.h +++ b/src/share/system_variable/ob_system_variable_init.h @@ -15,9 +15,13 @@ #include "share/system_variable/ob_sys_var_class_type.h" #include #include "common/object/ob_object.h" -namespace oceanbase { -namespace share { -struct ObSysVarFlag { +namespace oceanbase +{ +namespace share +{ +// ObSysVarFlag的值不可随意增删改, 有任何增删改要同时同步到sql/session/gen_ob_sys_variables.py的flag_value_dict变量中 +struct ObSysVarFlag +{ const static int64_t NONE = 0LL; const static int64_t GLOBAL_SCOPE = 1LL; const static int64_t SESSION_SCOPE = (1LL << 1); @@ -33,7 +37,7 @@ struct ObSysVarFlag { const static int64_t WITH_UPGRADE = (1LL << 11); const static int64_t MYSQL_ONLY = (1LL << 12); }; -struct ObSysVarFromJson { +struct ObSysVarFromJson{ ObSysVarClassType id_; common::ObString name_; common::ObObjType data_type_; @@ -52,28 +56,11 @@ struct ObSysVarFromJson { common::ObString get_meta_type_func_; common::ObString session_special_update_func_; - ObSysVarFromJson() - : id_(SYS_VAR_INVALID), - name_(""), - data_type_(common::ObNullType), - value_(""), - min_val_(""), - max_val_(""), - enum_names_(""), - info_(""), - flags_(ObSysVarFlag::NONE), - alias_(""), - base_class_(""), - on_check_and_convert_func_(), - on_update_func_(), - to_select_obj_func_(), - to_show_str_func_(), - get_meta_type_func_(), - session_special_update_func_() - {} + ObSysVarFromJson():id_(SYS_VAR_INVALID), name_(""), data_type_(common::ObNullType), value_(""), min_val_(""), max_val_(""), enum_names_(""), info_(""), flags_(ObSysVarFlag::NONE), alias_(""), base_class_(""), on_check_and_convert_func_(), on_update_func_(), to_select_obj_func_(), to_show_str_func_(), get_meta_type_func_(), session_special_update_func_() {} }; -class ObSysVariables { +class ObSysVariables +{ public: static int64_t get_all_sys_var_count(); static ObSysVarClassType get_sys_var_id(int64_t i); @@ -88,20 +75,21 @@ public: static bool is_oracle_only(int64_t i); static bool is_mysql_only(int64_t i); static common::ObString get_alias(int64_t i); - static const common::ObObj& get_default_value(int64_t i); + static const common::ObObj &get_default_value(int64_t i); static int64_t get_amount(); - static int set_value(const char* name, const char* new_value); - static int set_value(const common::ObString& name, const common::ObString& new_value); + static int set_value(const char *name, const char * new_value); + static int set_value(const common::ObString &name, const common::ObString &new_value); static int init_default_values(); }; -class ObSysVarsToIdxMap { +class ObSysVarsToIdxMap +{ public: static int64_t get_store_idx(int64_t var_id); static bool has_invalid_sys_var_id(); }; -} // end namespace share -} // end namespace oceanbase +} // end namespace share +} // end namespace oceanbase #endif /* OCEANBASE_SHARE_SYSTEM_VARIABLE_OB_SYSTEM_VARIABLE_INIT_ */ diff --git a/src/share/system_variable/ob_system_variable_init.json b/src/share/system_variable/ob_system_variable_init.json index f865c87ea8e5b0919a23d3ee906acab53a049fcb..6aad48138c25db6daf60d90cdecefd5357a65893 100644 --- a/src/share/system_variable/ob_system_variable_init.json +++ b/src/share/system_variable/ob_system_variable_init.json @@ -1099,6 +1099,42 @@ "background_cn": "", "ref_url": "" }, + "session_track_schema": { + "id": 81, + "name": "session_track_schema", + "value": "1", + "data_type": "bool", + "info": "specifies whether return schema change info in ok packet", + "flags": "GLOBAL | SESSION | MYSQL_ONLY", + "publish_version": "312", + "info_cn": "控制返回的ok包中是否包含schema变更的信息", + "background_cn": "", + "ref_url": "ob/product_functionality_review/pw3wd2" + }, + "session_track_system_variables": { + "id": 82, + "name": "session_track_system_variables", + "value": "time_zone, autocommit, character_set_client, character_set_results, character_set_connection", + "data_type": "varchar", + "info": "specifies whether return system variables change info in ok packet", + "flags": "GLOBAL | SESSION | MYSQL_ONLY", + "publish_version": "312", + "info_cn": "控制返回的ok包中是否包含系统变量变更的信息", + "background_cn": "", + "ref_url": "ob/product_functionality_review/pw3wd2" + }, + "session_track_state_change": { + "id": 83, + "name": "session_track_state_change", + "value": "0", + "data_type": "bool", + "info": "specifies whether return session state change info in ok packet", + "flags": "GLOBAL | SESSION | MYSQL_ONLY", + "publish_version": "312", + "info_cn": "控制返回的ok包中是否包含session状态变更的信息", + "background_cn": "", + "ref_url": "ob/product_functionality_review/pw3wd2" + }, "ob_default_replica_num": { "id": 10000, "name": "ob_default_replica_num", @@ -2441,7 +2477,7 @@ "publish_version": "226", "info_cn": "限制导入导出功能访问的路径", "background_cn": "导入导出功能未限制文件访问可能存在漏洞", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/sxwpug" + "ref_url": "ob/product_functionality_review/sxwpug" }, "plsql_warnings": { "id": 10103, @@ -2454,7 +2490,7 @@ "publish_version": "3.1.0", "info_cn": "控制pl/sql编译器的报错行为, 可以指定某类型或某个warning码的状态为:enable, disable, error", "background_cn": "pl/sql编译器的警告信息分成了几个分类, 这个系统参数可以控制这些警告信息的行为", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/xxibln" + "ref_url": "ob/product_functionality_review/xxibln" }, "_enable_parallel_query": { "id": 10104, @@ -2466,7 +2502,7 @@ "publish_version": "227", "info_cn": "在session上打开parallel query配置项, 查询默认情况下才可以被并行执行(parallel>=2)", "background_cn": "px上控制parallel的方式有很多, session上有对应的parallel的控制开关, 这个开关用于控制session级别的默认并行度是否可以大于等于2", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/tblezn" + "ref_url": "ob/product_functionality_review/tblezn" }, "_force_parallel_query_dop": { "id": 10105, @@ -2478,7 +2514,7 @@ "publish_version": "310", "info_cn": "在session上打开parallel query配置项, 并指定默认并行度", "background_cn": "px上控制parallel的方式有很多, session上有对应的parallel的控制开关, 这个变量用于设置session级别的 query 默认并行度大小", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/bpv992" + "ref_url": "ob/product_functionality_review/bpv992" }, "_force_parallel_dml_dop": { "id": 10106, @@ -2490,7 +2526,7 @@ "publish_version": "310", "info_cn": "在session上打开parallel dml配置项, 并指定默认并行度.当未通过 hint 指定 dml 并行度时, 会使用本变量值作为默认并行度", "background_cn": "px上控制parallel的方式有很多, session上有对应的parallel的控制开关, 这个变量用于设置session级别的 dml 默认并行度大小", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/bpv992" + "ref_url": "ob/product_functionality_review/bpv992" }, "ob_pl_block_timeout": { "id": 10107, @@ -2505,7 +2541,7 @@ "publish_version": "227", "info_cn": "", "background_cn": "", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/gry0a1" + "ref_url": "ob/product_functionality_review/gry0a1" }, "transaction_read_only": { "id": 10108, @@ -2521,7 +2557,7 @@ "publish_version": "320", "info_cn": "控制是否只允许开启只读事务", "background_cn": "用户可以通过这两个变量访问或者设置事务的访问模式, 当transaction_read_only设置为true时, 不允许执行dml语句", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/qcneoc" + "ref_url": "ob/product_functionality_review/qcneoc" }, "resource_manager_plan": { "id": 10109, @@ -2533,7 +2569,7 @@ "publish_version": "320", "info_cn": "指定租户的资源隔离计划", "background_cn": "租户内的普通线程和并行执行线程会相互抢占CPU资源, 通过给租户指定资源隔离计划, 可以控制资源抢占策略, 隔离资源使用量", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/do11tp" + "ref_url": "ob/product_functionality_review/do11tp" }, "performance_schema": { "id": 10110, @@ -2545,7 +2581,7 @@ "publish_version": "227", "info_cn": "向客户端声明是否支持 performance 信息查询", "background_cn": "纯兼容性变量.不支持 performance_schema 系统变量, 导致 8.0 JDBC 驱动在连接认证后初始化系统变量阶段执行 select @performance_schema 抛出异常", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/mg0sbv" + "ref_url": "ob/product_functionality_review/mg0sbv" }, "nls_currency": { "id": 10111, @@ -2557,7 +2593,7 @@ "publish_version": "320", "info_cn": "L数字格式元素的本地货币符号", "background_cn": "兼容 oracle number format model L 数字格式元素", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/efqk1r" + "ref_url": "ob/product_functionality_review/efqk1r" }, "nls_iso_currency": { "id": 10112, @@ -2569,7 +2605,7 @@ "publish_version": "320", "info_cn": "C数字格式元素的国际货币符号", "background_cn": "兼容 oracle number format model C 数字格式元素", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/efqk1r" + "ref_url": "ob/product_functionality_review/efqk1r" }, "nls_dual_currency": { "id": 10113, @@ -2581,7 +2617,7 @@ "publish_version": "320", "info_cn": "U数字格式元素的双货币符号", "background_cn": "兼容 oracle number format model U 数字格式元素", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/efqk1r" + "ref_url": "ob/product_functionality_review/efqk1r" }, "_ob_proxy_session_temporary_table_used": { "id": 10116, @@ -2593,6 +2629,6 @@ "publish_version": "310", "info_cn": "标记当前Session是否使用过Session级别临时表,用于告知proxy并修改路由决策", "background_cn": "为了解决Session临时表断链接时可能导致的问题,当Session临时表第一次使用后,后续请求Proxy只会路由到同一个Session", - "ref_url": "https://yuque.antfin-inc.com/ob/product_functionality_review/hinq1e" + "ref_url": "ob/product_functionality_review/hinq1e" } }