diff --git a/src/common/cache/ob_kv_storecache.h b/src/common/cache/ob_kv_storecache.h index 7b1d66f5ec70a65cf3670f63024725468fcea6df..a8fd09e9d811c1741c9c92103b0ca1b3c0985ec8 100644 --- a/src/common/cache/ob_kv_storecache.h +++ b/src/common/cache/ob_kv_storecache.h @@ -45,10 +45,10 @@ namespace oceanbase { namespace common { -static const int64_t MAX_CACHE_NUM = 16; +static const int64_t MAX_CACHE_NUM = 16; static const int64_t MAX_TENANT_NUM_PER_SERVER = 1024; -static const int32_t MAX_CACHE_NAME_LENGTH = 127; -static const double CACHE_SCORE_DECAY_FACTOR = 0.9; +static const int32_t MAX_CACHE_NAME_LENGTH = 127; +static const double CACHE_SCORE_DECAY_FACTOR = 0.9; class ObIKVCacheKey { diff --git a/src/common/ob_cost_consts_def.h b/src/common/ob_cost_consts_def.h index d3bfc51e639369c0d965044b6fdaca9bff8d3e6c..3bbf954baa6c71571e1f0c964d03ccbb723e05e7 100644 --- a/src/common/ob_cost_consts_def.h +++ b/src/common/ob_cost_consts_def.h @@ -21,42 +21,42 @@ namespace common /** * Calculate the cpu cost of a basic operator */ -const int64_t CPU_OPERATOR_COST = 1; +const int64_t CPU_OPERATOR_COST = 1; -const int64_t NO_ROW_FAKE_COST = 100; +const int64_t NO_ROW_FAKE_COST = 100; ///The basic cost of a rpc -const int64_t NET_BASE_COST = 100; +const int64_t NET_BASE_COST = 100; ///The basic cost of rpc sending a row of data -const double NET_PER_ROW_COST = 0.4; +const double NET_PER_ROW_COST = 0.4; ///The cost of updating a row of data. Temporarily written -const int64_t UPDATE_ONE_ROW_COST = 1; +const int64_t UPDATE_ONE_ROW_COST = 1; ///The cost of DELETE a row of data. Temporarily written -const int64_t DELETE_ONE_ROW_COST = 1; +const int64_t DELETE_ONE_ROW_COST = 1; /** * The cpu cost of processing a row of data */ -const int64_t CPU_TUPLE_COST = 1; +const int64_t CPU_TUPLE_COST = 1; /** * The default selection rate of equivalent expressions such as ("A = b") */ -const double DEFAULT_EQ_SEL = 0.005; +const double DEFAULT_EQ_SEL = 0.005; /** * The default selection rate for non-equivalent expressions (such as "A a, then its probability is area of y //if we have range i < a, then its probability is A plus x //the logic is in ObOptimizerCost::do_calc_range_selectivity -const double DEFAULT_RANGE_EXCEED_LIMIT_DECAY_RATIO = 0.5; +const double DEFAULT_RANGE_EXCEED_LIMIT_DECAY_RATIO = 0.5; -const double DEFAULT_GET_EXIST_RATE = 1.0; -const double DEFAULT_CACHE_HIT_RATE = 0.8; -const double DEFAULT_BLOCK_CACHE_HIT_RATE = DEFAULT_CACHE_HIT_RATE; -const double DEFAULT_ROW_CACHE_HIT_RATE = DEFAULT_CACHE_HIT_RATE; +const double DEFAULT_GET_EXIST_RATE = 1.0; +const double DEFAULT_CACHE_HIT_RATE = 0.8; +const double DEFAULT_BLOCK_CACHE_HIT_RATE = DEFAULT_CACHE_HIT_RATE; +const double DEFAULT_ROW_CACHE_HIT_RATE = DEFAULT_CACHE_HIT_RATE; -const double LN_2 = 0.69314718055994530941723212145818; +const double LN_2 = 0.69314718055994530941723212145818; #define LOGN(x) (log(x)) #define LOG2(x) (LOGN(static_cast(x)) / LN_2) //cost params for table scan //all one-time cost during a scan process -const double SCAN_STARTUP_T = 10.0; +const double SCAN_STARTUP_T = 10.0; //one-time cost during processing a row -const double SCAN_ROW_CONST_T = 0.186; +const double SCAN_ROW_CONST_T = 0.186; //cost related to processing one obj -const double SCAN_ROW_ONE_COLUMN_T = 0.018; +const double SCAN_ROW_ONE_COLUMN_T = 0.018; //cost related to processing a micro block -const double SCAN_MICRO_CONST_T = 6.95; +const double SCAN_MICRO_CONST_T = 6.95; //additional cost related to processing a micro block if micro block cache miss -const double SCAN_MICRO_BLOCK_CACHE_MISS_T = 20.58; +const double SCAN_MICRO_BLOCK_CACHE_MISS_T = 20.58; //cost related to processing a macro block -const double SCAN_MACRO_CONST_T = 14.0; +const double SCAN_MACRO_CONST_T = 14.0; -const double SCAN_OPEN_CACHE_HIT_PER_MICRO_T = 1.0; -const double SCAN_OPEN_CACHE_MISS_PER_MICRO_T = 8.0; +const double SCAN_OPEN_CACHE_HIT_PER_MICRO_T = 1.0; +const double SCAN_OPEN_CACHE_MISS_PER_MICRO_T = 8.0; //cost params for table get -const double GET_STARTUP_T = 10.0; -const double GET_ROW_NOT_EXIST_T = 1.0; -const double GET_ROW_CONST_T = 7.67; -const double GET_ROW_ONE_COLUMN_T = 0.037; -const double GET_ROW_CACHE_HIT_T = 1.85; -const double GET_ROW_CACHE_MISS_T = 9.56; -const double GET_BLOCK_CACHE_MISS_T = 15.3; +const double GET_STARTUP_T = 10.0; +const double GET_ROW_NOT_EXIST_T = 1.0; +const double GET_ROW_CONST_T = 7.67; +const double GET_ROW_ONE_COLUMN_T = 0.037; +const double GET_ROW_CACHE_HIT_T = 1.85; +const double GET_ROW_CACHE_MISS_T = 9.56; +const double GET_BLOCK_CACHE_MISS_T = 15.3; -const double GET_OPEN_ROW_CONST_T = 5.36; -const double GET_OPEN_BF_NOT_EXIST_T = 1.0; -const double GET_OPEN_ROW_CACHE_HIT_T = 3.80; -const double GET_OPEN_ROW_CACHE_MISS_T = 4.73; -const double GET_OPEN_BLOCK_CACHE_HIT_T = 0.067; -const double GET_OPEN_BLOCK_CACHE_MISS_T = 7.76; +const double GET_OPEN_ROW_CONST_T = 5.36; +const double GET_OPEN_BF_NOT_EXIST_T = 1.0; +const double GET_OPEN_ROW_CACHE_HIT_T = 3.80; +const double GET_OPEN_ROW_CACHE_MISS_T = 4.73; +const double GET_OPEN_BLOCK_CACHE_HIT_T = 0.067; +const double GET_OPEN_BLOCK_CACHE_MISS_T = 7.76; -const double DEFAULT_IO_RTT_T = 2000; +const double DEFAULT_IO_RTT_T = 2000; -const int64_t MICRO_PER_MACRO_16K_2M = 115; +const int64_t MICRO_PER_MACRO_16K_2M = 115; //default sizes and counts when stat is not available -const int64_t DEFAULT_ROW_SIZE = 100; -const int64_t DEFAULT_MICRO_BLOCK_SIZE = 16L * 1024; -const int64_t DEFAULT_MACRO_BLOCK_SIZE = 2L * 1024 * 1024; +const int64_t DEFAULT_ROW_SIZE = 100; +const int64_t DEFAULT_MICRO_BLOCK_SIZE = 16L * 1024; +const int64_t DEFAULT_MACRO_BLOCK_SIZE = 2L * 1024 * 1024; //if stat is not available, consider relatively small table //note that default micro block size is 16KB, 128 micros per macro -const int64_t DEFAULT_MACRO_COUNT = 10; +const int64_t DEFAULT_MACRO_COUNT = 10; -const int64_t DEFAULT_MICRO_COUNT = DEFAULT_MACRO_COUNT * MICRO_PER_MACRO_16K_2M; +const int64_t DEFAULT_MICRO_COUNT = DEFAULT_MACRO_COUNT * MICRO_PER_MACRO_16K_2M; -const int64_t OB_EST_DEFAULT_ROW_COUNT = 1000; +const int64_t OB_EST_DEFAULT_ROW_COUNT = 1000; -const int64_t EST_DEF_COL_NUM_DISTINCT = 500; +const int64_t EST_DEF_COL_NUM_DISTINCT = 500; -const double EST_DEF_COL_NULL_RATIO = 0.01; +const double EST_DEF_COL_NULL_RATIO = 0.01; -const double EST_DEF_COL_NOT_NULL_RATIO = 1 - EST_DEF_COL_NULL_RATIO; +const double EST_DEF_COL_NOT_NULL_RATIO = 1 - EST_DEF_COL_NULL_RATIO; -const double EST_DEF_VAR_EQ_SEL = EST_DEF_COL_NOT_NULL_RATIO / EST_DEF_COL_NUM_DISTINCT; +const double EST_DEF_VAR_EQ_SEL = EST_DEF_COL_NOT_NULL_RATIO / EST_DEF_COL_NUM_DISTINCT; -const double OB_COLUMN_DISTINCT_RATIO = 2.0 / 3.0; +const double OB_COLUMN_DISTINCT_RATIO = 2.0 / 3.0; -const int64_t OB_EST_DEFAULT_NUM_NULL = static_cast(static_cast(OB_EST_DEFAULT_ROW_COUNT) * EST_DEF_COL_NULL_RATIO); +const int64_t OB_EST_DEFAULT_NUM_NULL = static_cast(static_cast(OB_EST_DEFAULT_ROW_COUNT) * EST_DEF_COL_NULL_RATIO); -const int64_t OB_EST_DEFAULT_DATA_SIZE = OB_EST_DEFAULT_ROW_COUNT * DEFAULT_ROW_SIZE; +const int64_t OB_EST_DEFAULT_DATA_SIZE = OB_EST_DEFAULT_ROW_COUNT * DEFAULT_ROW_SIZE; -const int64_t OB_EST_DEFAULT_MACRO_BLOCKS = OB_EST_DEFAULT_DATA_SIZE / DEFAULT_MACRO_BLOCK_SIZE; +const int64_t OB_EST_DEFAULT_MACRO_BLOCKS = OB_EST_DEFAULT_DATA_SIZE / DEFAULT_MACRO_BLOCK_SIZE; -const int64_t OB_EST_DEFAULT_MICRO_BLOCKS = OB_EST_DEFAULT_DATA_SIZE / DEFAULT_MICRO_BLOCK_SIZE; +const int64_t OB_EST_DEFAULT_MICRO_BLOCKS = OB_EST_DEFAULT_DATA_SIZE / DEFAULT_MICRO_BLOCK_SIZE; -const double OB_DEFAULT_HALF_OPEN_RANGE_SEL = 0.2; +const double OB_DEFAULT_HALF_OPEN_RANGE_SEL = 0.2; -const double OB_DEFAULT_CLOSED_RANGE_SEL = 0.1; +const double OB_DEFAULT_CLOSED_RANGE_SEL = 0.1; -const double ESTIMATE_UNRELIABLE_RATIO = 0.25; +const double ESTIMATE_UNRELIABLE_RATIO = 0.25; -const int64_t OB_DEFAULT_UNEXPECTED_PATH_COST = INT32_MAX; +const int64_t OB_DEFAULT_UNEXPECTED_PATH_COST = INT32_MAX; //these are cost params for operators //fixed cost for every sort -const double SORT_ONCE_T = 60; +const double SORT_ONCE_T = 60; //fixed cost for comparing one column -const double SORT_COMPARE_COL_T = 0.0047; +const double SORT_COMPARE_COL_T = 0.0047; //fixed cost for every row -const double SORT_ROW_ONCE_T = 1.125; +const double SORT_ROW_ONCE_T = 1.125; //fixed setup time for calc other conds(filters) in join -const double JOIN_OTHER_COND_INIT_T = 0.15; +const double JOIN_OTHER_COND_INIT_T = 0.15; //average cost for calc a filter (sampled with filter t1.a + t2.a < K). //can be inaccurate -const double JOIN_OTHER_COND_SINGLE_T = 0.17; +const double JOIN_OTHER_COND_SINGLE_T = 0.17; /* @@ -193,100 +193,100 @@ const double JOIN_OTHER_COND_SINGLE_T = 0.17; */ //fixed setup time for calc equal conds(filters) in join -const double JOIN_EQUAL_COND_INIT_T = 0.054; +const double JOIN_EQUAL_COND_INIT_T = 0.054; //average cost for calc a equal cond -const double JOIN_EQUAL_COND_SINGLE_T = 0.04; +const double JOIN_EQUAL_COND_SINGLE_T = 0.04; //cost params for material -const double MATERIAL_ONCE_T = 38; -const double MATERIAL_ROW_READ_ONCE_T = 0.15; -const double MATERIAL_ROW_COL_READ_T = 0.023; -const double MATERIAL_ROW_WRITE_ONCE_T = 0.15; -const double MATERIAL_ROW_COL_WRITE_T = 0.023; +const double MATERIAL_ONCE_T = 38; +const double MATERIAL_ROW_READ_ONCE_T = 0.15; +const double MATERIAL_ROW_COL_READ_T = 0.023; +const double MATERIAL_ROW_WRITE_ONCE_T = 0.15; +const double MATERIAL_ROW_COL_WRITE_T = 0.023; //cost params for nestloop join -const double NESTLOOP_ONCE_T = 25.465184; +const double NESTLOOP_ONCE_T = 25.465184; //each left scan cause a right rescan and etc, so more expensive -const double NESTLOOP_ROW_LEFT_T = 0.186347; -const double NESTLOOP_ROW_RIGHT_T = 0.033857; -const double NESTLOOP_ROW_OUT_T = 0.249701; -const double NESTLOOP_ROW_QUAL_FAIL_T = 0.128629; - -const double BLK_NESTLOOP_ONCE_START_T = 8.030292; -const double BLK_NESTLOOP_ONCE_RES_T = 0.249750; -const double BLK_NESTLOOP_QUAL_FAIL_T = 0.129177; -const double BLK_NESTLOOP_ROW_LEFT_T = 0.19983; -const double BLK_NESTLOOP_ROW_RIGHT_T = 0.034; -const double BLK_NESTLOOP_CACHE_SCAN_T = 0.264018; -const double BLK_NESTLOOP_CACHE_COUNT_T = 54.348476; +const double NESTLOOP_ROW_LEFT_T = 0.186347; +const double NESTLOOP_ROW_RIGHT_T = 0.033857; +const double NESTLOOP_ROW_OUT_T = 0.249701; +const double NESTLOOP_ROW_QUAL_FAIL_T = 0.128629; + +const double BLK_NESTLOOP_ONCE_START_T = 8.030292; +const double BLK_NESTLOOP_ONCE_RES_T = 0.249750; +const double BLK_NESTLOOP_QUAL_FAIL_T = 0.129177; +const double BLK_NESTLOOP_ROW_LEFT_T = 0.19983; +const double BLK_NESTLOOP_ROW_RIGHT_T = 0.034; +const double BLK_NESTLOOP_CACHE_SCAN_T = 0.264018; +const double BLK_NESTLOOP_CACHE_COUNT_T = 54.348476; //cost params for merge join -const double MERGE_ONCE_T = 0.005255; +const double MERGE_ONCE_T = 0.005255; //cost for scan left rows //for simplicity, dont separate used from unused, fitting result is acceptable -const double MERGE_ROW_LEFT_T = 0.005015; +const double MERGE_ROW_LEFT_T = 0.005015; //cost for right rows. //unlike NL, this splits into three type //because right rows can come from "right cache" -const double MERGE_ROW_RIGHT_OP_T = 0.000001; -const double MERGE_ROW_RIGHT_CACHE_T = 0.000001; -const double MERGE_ROW_RIGHT_UNUSED_T = 0.006961; //very small, can ignore? -const double MARGE_ROW_QUAL_FAIL_T = 0.132598; +const double MERGE_ROW_RIGHT_OP_T = 0.000001; +const double MERGE_ROW_RIGHT_CACHE_T = 0.000001; +const double MERGE_ROW_RIGHT_UNUSED_T = 0.006961; //very small, can ignore? +const double MARGE_ROW_QUAL_FAIL_T = 0.132598; //there is a cache clear operation each match group -const double MERGE_MATCH_GROUP_T = 0.808002; -const double MERGE_ROW_ONCE_RES_T = 0.751524; +const double MERGE_MATCH_GROUP_T = 0.808002; +const double MERGE_ROW_ONCE_RES_T = 0.751524; //cost params for merge group by -const double MGB_STARTUP_T = 177.0; +const double MGB_STARTUP_T = 177.0; //for each input row, there are: // cost for judging whether it starts a new group(Proportional to Ngroup_col) // cost for calc each aggr column(Proportional to Naggr_col) -const double MGB_INPUT_ONCE_T = 1.5; -const double MGB_INPUT_AGGR_COL_T = 0.073; -const double MGB_INPUT_GROUP_COL_T = 0.011; +const double MGB_INPUT_ONCE_T = 1.5; +const double MGB_INPUT_AGGR_COL_T = 0.073; +const double MGB_INPUT_GROUP_COL_T = 0.011; //for each output row(i.e. a group), there are // cost for deep copy first input row twice(Proportional to Ninput_col) // cost for calc and copy each aggr column(Proportional to Naggr_col) //Here, we use AVG aggr func as the sampling target. -const double MGB_RES_ONCE_T = 1.68; -const double MGB_RES_AGGR_COL_T = 3.66; -const double MGB_RES_INPUT_COL_T = 0.018; +const double MGB_RES_ONCE_T = 1.68; +const double MGB_RES_AGGR_COL_T = 3.66; +const double MGB_RES_INPUT_COL_T = 0.018; -const int64_t MGB_DEFAULT_GROUP_COL_COUNT = 1; -const int64_t MGB_DEFAULT_INPUT_COL_COUNT = 10; +const int64_t MGB_DEFAULT_GROUP_COL_COUNT = 1; +const int64_t MGB_DEFAULT_INPUT_COL_COUNT = 10; //cost param for distinct.Refering Merge group by -const double MERGE_DISTINCT_STARTUP_T = 50; -const double MERGE_DISTINCT_ONE_T = 1.5; -const double MERGE_DISTINCT_COL_T = 0.018; +const double MERGE_DISTINCT_STARTUP_T = 50; +const double MERGE_DISTINCT_ONE_T = 1.5; +const double MERGE_DISTINCT_COL_T = 0.018; //cost params for hash group by -const double HGB_STARTUP_T = 979; +const double HGB_STARTUP_T = 979; -const double HGB_INPUT_ONCE_T = 0.144; +const double HGB_INPUT_ONCE_T = 0.144; -const double HGB_INPUT_AGGR_COL_T = 0.366; +const double HGB_INPUT_AGGR_COL_T = 0.366; -const double HGB_INPUT_GROUP_COL_T = 0.0824; +const double HGB_INPUT_GROUP_COL_T = 0.0824; -const double HGB_RES_ONCE_T = 0.857; +const double HGB_RES_ONCE_T = 0.857; -const double HGB_RES_INPUT_COL_T = 0.043; +const double HGB_RES_INPUT_COL_T = 0.043; -const double HGB_RES_AGGR_COL_T = 2.500; +const double HGB_RES_AGGR_COL_T = 2.500; //cost param for virtual table -const double VIRTUAL_INDEX_GET_COST = 20; // typical get latency for hash table +const double VIRTUAL_INDEX_GET_COST = 20; // typical get latency for hash table -const double SCALAR_STARTUP_T = 177.0; -const double SCALAR_INPUT_ONCE_T = 0.144; -const double SCALAR_INPUT_AGGR_COL_T = 0.073; +const double SCALAR_STARTUP_T = 177.0; +const double SCALAR_INPUT_ONCE_T = 0.144; +const double SCALAR_INPUT_AGGR_COL_T = 0.073; -const int64_t HALF_OPEN_RANGE_MIN_ROWS = 20; -const int64_t CLOSE_RANGE_MIN_ROWS = 10; +const int64_t HALF_OPEN_RANGE_MIN_ROWS = 20; +const int64_t CLOSE_RANGE_MIN_ROWS = 10; } //namespace common } //namespace oceanabse diff --git a/src/common/ob_obj_type.h b/src/common/ob_obj_type.h index 2d265212267cfc7ee17ef52d1617d3d5a2b82322..17e908c8e731c134c2d270949bfd9ee1aa1374ad 100644 --- a/src/common/ob_obj_type.h +++ b/src/common/ob_obj_type.h @@ -22,7 +22,7 @@ namespace common // modify ObObjTypeClass and ob_obj_type_class when append new object type. enum ObObjType { - ObNullType = 0, + ObNullType = 0, ObTinyIntType=1, // int8, aka mysql boolean type ObSmallIntType=2, // int16 @@ -59,21 +59,21 @@ enum ObObjType ObExtendType=25, // Min, Max, NOP etc. ObUnknownType=26, // For question mark(?) in prepared statement, no need to serialize // @note future new types to be defined here !!! - ObTinyTextType = 27, - ObTextType = 28, - ObMediumTextType = 29, - ObLongTextType = 30, - ObBitType = 31, - ObEnumType = 32, - ObSetType = 33, - ObEnumInnerType = 34, - ObSetInnerType = 35, + ObTinyTextType = 27, + ObTextType = 28, + ObMediumTextType = 29, + ObLongTextType = 30, + ObBitType = 31, + ObEnumType = 32, + ObSetType = 33, + ObEnumInnerType = 34, + ObSetInnerType = 35, /* - ObTinyBlobType = 31, - ObMediumBlobType = 32, - ObBlobType = 33, - ObLongBlobType = 34, + ObTinyBlobType = 31, + ObMediumBlobType = 32, + ObBlobType = 33, + ObLongBlobType = 34, ObBitType=35 ObEnumType=36 @@ -107,7 +107,7 @@ enum ObObjTypeClass ObStringTC = 10, // varchar, char, varbinary, binary. ObExtendTC = 11, // extend ObUnknownTC = 12, // unknown - ObTextTC = 13, //TinyText,MediumText, Text ,LongText + ObTextTC = 13, //TinyText,MediumText, Text ,LongText ObMaxTC, // invalid type classes are below, only used as the result of XXXX_type_promotion() // to indicate that the two obj can't be promoted to the same type. diff --git a/src/common/ob_string_buf.ipp b/src/common/ob_string_buf.ipp index afa6081be47d04725c742b6b0a1bf35e1390402e..4ecb0f53794952efbc67d62eb033786bb7820b78 100644 --- a/src/common/ob_string_buf.ipp +++ b/src/common/ob_string_buf.ipp @@ -18,7 +18,7 @@ namespace oceanbase namespace common { template -const int64_t ObStringBufT::DEF_MEM_BLOCK_SIZE = 64 * 1024L; +const int64_t ObStringBufT::DEF_MEM_BLOCK_SIZE = 64 * 1024L; template const int64_t ObStringBufT::MIN_DEF_MEM_BLOCK_SIZE = diff --git a/src/lib/alloc/achunk_mgr.h b/src/lib/alloc/achunk_mgr.h index df0d724c1affa4dd139452dcd47bf87c55a48992..cb15232918fdd4731b0a39d20595327bd9cb5f1f 100644 --- a/src/lib/alloc/achunk_mgr.h +++ b/src/lib/alloc/achunk_mgr.h @@ -28,7 +28,7 @@ namespace lib class AChunk; -static const uint64_t MAXADDR = (1L << 52); +static const uint64_t MAXADDR = (1L << 52); static const uint64_t CHUNK_BITMAP_SIZE = MAXADDR / MEMCHK_CHUNK_ALIGN; class AChunkMgr diff --git a/src/lib/alloc/alloc_struct.h b/src/lib/alloc/alloc_struct.h index c68f7da399b63f0dc6e93a08b50850cb3f234f1c..24e3e6d93b8785ae53c1959f8c95bf00444025b0 100644 --- a/src/lib/alloc/alloc_struct.h +++ b/src/lib/alloc/alloc_struct.h @@ -30,13 +30,13 @@ namespace lib // allocates because we can only process with memory address past in // ranged between 0 and this size. static const uint64_t MEMCHK_CHUNK_ALIGN_BITS = 20; -static const uint64_t MEMCHK_CHUNK_ALIGN = 4UL << MEMCHK_CHUNK_ALIGN_BITS; +static const uint64_t MEMCHK_CHUNK_ALIGN = 4UL << MEMCHK_CHUNK_ALIGN_BITS; -static const uint32_t AOBJECT_TAIL_SIZE = 8; -static const uint32_t MIN_AOBJECT_SIZE = 16; // 16 bytes, 2 pointers -static const uint32_t AOBJECT_CELL_BYTES = 8; // 8 bytes -static const uint32_t NORMAL_AOBJECT_SIZE = 1 << 13; // 8K -static const uint32_t INTACT_ACHUNK_SIZE = 1 << 21; // 2M +static const uint32_t AOBJECT_TAIL_SIZE = 8; +static const uint32_t MIN_AOBJECT_SIZE = 16; // 16 bytes, 2 pointers +static const uint32_t AOBJECT_CELL_BYTES = 8; // 8 bytes +static const uint32_t NORMAL_AOBJECT_SIZE = 1 << 13; // 8K +static const uint32_t INTACT_ACHUNK_SIZE = 1 << 21; // 2M static const int64_t ALLOC_ABLOCK_CONCURRENCY = 4; @@ -154,26 +154,26 @@ static const uint16_t AOBJECT_MAGIC_CODE = 0XCED1; static const uint16_t FREE_BIG_AOBJECT_MAGIC_CODE = 0XCED2; static const uint16_t BIG_AOBJECT_MAGIC_CODE = 0XCED3; -static const uint32_t AOBJECT_HEADER_SIZE = offsetof(AObject, data_); -static const uint32_t AOBJECT_META_SIZE = AOBJECT_HEADER_SIZE + AOBJECT_TAIL_SIZE; -static const uint32_t INTACT_NORMAL_AOBJECT_SIZE = NORMAL_AOBJECT_SIZE + AOBJECT_META_SIZE; +static const uint32_t AOBJECT_HEADER_SIZE = offsetof(AObject, data_); +static const uint32_t AOBJECT_META_SIZE = AOBJECT_HEADER_SIZE + AOBJECT_TAIL_SIZE; +static const uint32_t INTACT_NORMAL_AOBJECT_SIZE = NORMAL_AOBJECT_SIZE + AOBJECT_META_SIZE; -static const uint32_t ABLOCK_HEADER_SIZE = offsetof(ABlock, data_); -static const uint32_t ABLOCK_SIZE = INTACT_NORMAL_AOBJECT_SIZE; -static const uint32_t INTACT_ABLOCK_SIZE = ABLOCK_SIZE + ABLOCK_HEADER_SIZE; +static const uint32_t ABLOCK_HEADER_SIZE = offsetof(ABlock, data_); +static const uint32_t ABLOCK_SIZE = INTACT_NORMAL_AOBJECT_SIZE; +static const uint32_t INTACT_ABLOCK_SIZE = ABLOCK_SIZE + ABLOCK_HEADER_SIZE; -static const uint32_t ACHUNK_HEADER_SIZE = offsetof(AChunk, data_); -static const uint32_t ACHUNK_SIZE = INTACT_ACHUNK_SIZE - ACHUNK_HEADER_SIZE; -static const uint32_t INTACT_BIG_ABLOCK_SIZE = ACHUNK_SIZE; -static const uint32_t BIG_ABLOCK_SIZE = INTACT_BIG_ABLOCK_SIZE - ABLOCK_HEADER_SIZE; -static const uint32_t INTACT_BIG_AOBJECT_SIZE = BIG_ABLOCK_SIZE; -static const uint32_t BIG_AOBJECT_SIZE = INTACT_BIG_AOBJECT_SIZE - AOBJECT_META_SIZE; +static const uint32_t ACHUNK_HEADER_SIZE = offsetof(AChunk, data_); +static const uint32_t ACHUNK_SIZE = INTACT_ACHUNK_SIZE - ACHUNK_HEADER_SIZE; +static const uint32_t INTACT_BIG_ABLOCK_SIZE = ACHUNK_SIZE; +static const uint32_t BIG_ABLOCK_SIZE = INTACT_BIG_ABLOCK_SIZE - ABLOCK_HEADER_SIZE; +static const uint32_t INTACT_BIG_AOBJECT_SIZE = BIG_ABLOCK_SIZE; +static const uint32_t BIG_AOBJECT_SIZE = INTACT_BIG_AOBJECT_SIZE - AOBJECT_META_SIZE; -static const uint32_t CELLS_PER_BLOCK = ABLOCK_SIZE / AOBJECT_CELL_BYTES; -static const uint64_t BLOCKS_PER_CHUNK = ACHUNK_SIZE / INTACT_ABLOCK_SIZE; +static const uint32_t CELLS_PER_BLOCK = ABLOCK_SIZE / AOBJECT_CELL_BYTES; +static const uint64_t BLOCKS_PER_CHUNK = ACHUNK_SIZE / INTACT_ABLOCK_SIZE; -static const uint32_t MAX_ABLOCK_COUNT = ACHUNK_SIZE / ABLOCK_SIZE - 1; -static const uint32_t MAX_ABLOCK_SIZE = MAX_ABLOCK_COUNT * ABLOCK_SIZE; +static const uint32_t MAX_ABLOCK_COUNT = ACHUNK_SIZE / ABLOCK_SIZE - 1; +static const uint32_t MAX_ABLOCK_SIZE = MAX_ABLOCK_COUNT * ABLOCK_SIZE; inline uint64_t align_up(uint64_t x, uint64_t align) { diff --git a/src/lib/encrypt/ob_encrypted_helper.cpp b/src/lib/encrypt/ob_encrypted_helper.cpp index eac0f834133944f9f580ccc1eed78df32f650aeb..2205e4b7488e35990694867e75ac86cf2a78e742 100644 --- a/src/lib/encrypt/ob_encrypted_helper.cpp +++ b/src/lib/encrypt/ob_encrypted_helper.cpp @@ -31,7 +31,7 @@ const uint32_t ObEncryptedHelper::sha_const_key[5] = 0x10325476, 0xC3D2E1F0 }; -const uint32_t ObEncryptedHelper::K[4] = +const uint32_t ObEncryptedHelper::K[4] = { 0x5A827999, 0x6ED9EBA1, diff --git a/src/lib/net/tbnetutil.cpp b/src/lib/net/tbnetutil.cpp index 989d0bff70fe4931e125ca3bafc14f6f385c06d5..e8c54242cfe443200317bd26cb5f5445bb92ad3c 100644 --- a/src/lib/net/tbnetutil.cpp +++ b/src/lib/net/tbnetutil.cpp @@ -81,9 +81,6 @@ bool CNetUtil::isLocalAddr(uint32_t ip, bool loopSkip) return false; } -/** - * 10.0.100.89 => 1499725834 - */ uint32_t CNetUtil::getAddr(const char *ip) { if (ip == NULL) return 0; diff --git a/src/lib/ob_define.h b/src/lib/ob_define.h index 3ae3792e2c54e6b9c77fb4cdb015121425262c95..6a0d9e9597166671451010872d76585fb590d3ff 100644 --- a/src/lib/ob_define.h +++ b/src/lib/ob_define.h @@ -33,291 +33,291 @@ namespace oceanbase { namespace common { -const int64_t OB_ALL_SERVER_CNT = INT64_MAX; -const uint16_t OB_COMPACT_COLUMN_INVALID_ID = UINT16_MAX; -const int64_t OB_INVALID_TIMESTAMP = -1; -const uint64_t OB_INVALID_ID = UINT64_MAX; -const int64_t OB_LATEST_VERSION = 0; -const uint32_t OB_INVALID_FILE_ID = UINT32_MAX; -const int16_t OB_COMPACT_INVALID_INDEX = -1; -const int OB_INVALID_INDEX = -1; -const int OB_INVALID_SIZE = -1; -const int OB_INVALID_COUNT = -1; -const int OB_INVALID_PTHREAD_KEY = -1; -const int64_t OB_INVALID_VERSION = -1; -const int64_t OB_INVALID_STMT_ID = -1; -const int64_t OB_INVALID_PARTITION_ID = 65535; -const int64_t OB_MIN_CLUSTER_ID = 1; -const int64_t OB_MAX_CLUSTER_ID = 4294901759; -const int64_t OB_INVALID_CLUSTER_ID = -1; -const int64_t OB_INVALID_ORG_CLUSTER_ID = 0; -const int64_t OB_MAX_ITERATOR = 16; -const int64_t MAX_IP_ADDR_LENGTH = 32; -const int64_t MAX_IP_PORT_LENGTH = MAX_IP_ADDR_LENGTH + 5; -const int64_t MAX_IP_PORT_SQL_LENGTH = MAX_IP_ADDR_LENGTH + 10; -const int64_t OB_MAX_SQL_ID_LENGTH = 32; -const int64_t MAX_ZONE_LENGTH = 128; -const int64_t MAX_REGION_LENGTH = 128; -const int64_t MAX_PROXY_IDC_LENGTH = 128; -const int32_t MAX_ZONE_NUM = 64; -const int64_t MAX_OPERATOR_NAME_LENGTH = 32; -const int64_t MAX_ZONE_LIST_LENGTH = MAX_ZONE_LENGTH * MAX_ZONE_NUM; -const int64_t MAX_ZONE_STATUS_LENGTH = 16; -const int64_t MAX_RESOURCE_POOL_NAME_LEN = 128; -const int32_t MAX_REPLICA_COUNT_PER_ZONE = 5; -const int32_t MAX_REPLICA_COUNT_TOTAL = MAX_ZONE_NUM +const int64_t OB_ALL_SERVER_CNT = INT64_MAX; +const uint16_t OB_COMPACT_COLUMN_INVALID_ID = UINT16_MAX; +const int64_t OB_INVALID_TIMESTAMP = -1; +const uint64_t OB_INVALID_ID = UINT64_MAX; +const int64_t OB_LATEST_VERSION = 0; +const uint32_t OB_INVALID_FILE_ID = UINT32_MAX; +const int16_t OB_COMPACT_INVALID_INDEX = -1; +const int OB_INVALID_INDEX = -1; +const int OB_INVALID_SIZE = -1; +const int OB_INVALID_COUNT = -1; +const int OB_INVALID_PTHREAD_KEY = -1; +const int64_t OB_INVALID_VERSION = -1; +const int64_t OB_INVALID_STMT_ID = -1; +const int64_t OB_INVALID_PARTITION_ID = 65535; +const int64_t OB_MIN_CLUSTER_ID = 1; +const int64_t OB_MAX_CLUSTER_ID = 4294901759; +const int64_t OB_INVALID_CLUSTER_ID = -1; +const int64_t OB_INVALID_ORG_CLUSTER_ID = 0; +const int64_t OB_MAX_ITERATOR = 16; +const int64_t MAX_IP_ADDR_LENGTH = 32; +const int64_t MAX_IP_PORT_LENGTH = MAX_IP_ADDR_LENGTH + 5; +const int64_t MAX_IP_PORT_SQL_LENGTH = MAX_IP_ADDR_LENGTH + 10; +const int64_t OB_MAX_SQL_ID_LENGTH = 32; +const int64_t MAX_ZONE_LENGTH = 128; +const int64_t MAX_REGION_LENGTH = 128; +const int64_t MAX_PROXY_IDC_LENGTH = 128; +const int32_t MAX_ZONE_NUM = 64; +const int64_t MAX_OPERATOR_NAME_LENGTH = 32; +const int64_t MAX_ZONE_LIST_LENGTH = MAX_ZONE_LENGTH * MAX_ZONE_NUM; +const int64_t MAX_ZONE_STATUS_LENGTH = 16; +const int64_t MAX_RESOURCE_POOL_NAME_LEN = 128; +const int32_t MAX_REPLICA_COUNT_PER_ZONE = 5; +const int32_t MAX_REPLICA_COUNT_TOTAL = MAX_ZONE_NUM *MAX_REPLICA_COUNT_PER_ZONE; -const int64_t MAX_RESOURCE_POOL_LENGTH = 128; -const int64_t MAX_RESOURCE_POOL_COUNT_OF_TENANT = 16; -const int64_t MAX_RESOURCE_POOL_LIST_LENGTH = MAX_RESOURCE_POOL_LENGTH +const int64_t MAX_RESOURCE_POOL_LENGTH = 128; +const int64_t MAX_RESOURCE_POOL_COUNT_OF_TENANT = 16; +const int64_t MAX_RESOURCE_POOL_LIST_LENGTH = MAX_RESOURCE_POOL_LENGTH * MAX_RESOURCE_POOL_COUNT_OF_TENANT; -const int64_t MAX_UNIT_CONFIG_LENGTH = 128; -const int64_t MAX_PATH_SIZE = 1024; -const int64_t DEFAULT_BUF_LENGTH = 4096; -const int64_t MAX_MEMBER_LIST_LENGTH = MAX_ZONE_NUM * (MAX_IP_PORT_LENGTH + 17 /* timestamp length*/ + 1); -const int64_t OB_MAX_MEMBER_NUMBER = 7; -const int64_t MAX_VALUE_LENGTH = 4096; -const int64_t MAX_LLC_BITMAP_LENGTH = 4096; -const int64_t MAX_ROOTSERVICE_EVENT_NAME_LENGTH = 256; -const int64_t MAX_ROOTSERVICE_EVENT_VALUE_LENGTH = 256; -const int64_t MAX_ROOTSERVICE_EVENT_DESC_LENGTH = 64; -const int64_t MAX_ROOTSERVICE_EVENT_EXTRA_INFO_LENGTH = 512; -const int64_t MAX_ELECTION_EVENT_DESC_LENGTH = 64; -const int64_t MAX_ELECTION_EVENT_EXTRA_INFO_LENGTH = 512; -const int64_t MAX_BUFFER_SIZE = 1024 * 1024; +const int64_t MAX_UNIT_CONFIG_LENGTH = 128; +const int64_t MAX_PATH_SIZE = 1024; +const int64_t DEFAULT_BUF_LENGTH = 4096; +const int64_t MAX_MEMBER_LIST_LENGTH = MAX_ZONE_NUM * (MAX_IP_PORT_LENGTH + 17 /* timestamp length*/ + 1); +const int64_t OB_MAX_MEMBER_NUMBER = 7; +const int64_t MAX_VALUE_LENGTH = 4096; +const int64_t MAX_LLC_BITMAP_LENGTH = 4096; +const int64_t MAX_ROOTSERVICE_EVENT_NAME_LENGTH = 256; +const int64_t MAX_ROOTSERVICE_EVENT_VALUE_LENGTH = 256; +const int64_t MAX_ROOTSERVICE_EVENT_DESC_LENGTH = 64; +const int64_t MAX_ROOTSERVICE_EVENT_EXTRA_INFO_LENGTH = 512; +const int64_t MAX_ELECTION_EVENT_DESC_LENGTH = 64; +const int64_t MAX_ELECTION_EVENT_EXTRA_INFO_LENGTH = 512; +const int64_t MAX_BUFFER_SIZE = 1024 * 1024; typedef int64_t ObDateTime; typedef int64_t ObPreciseDateTime; typedef ObPreciseDateTime ObModifyTime; typedef ObPreciseDateTime ObCreateTime; -const int32_t NOT_CHECK_FLAG = 0; -const int64_t MAX_SERVER_COUNT = 1024; -const uint64_t OB_SERVER_USER_ID = 0; -const int64_t OB_MAX_INDEX_PER_TABLE = 128; -const int64_t OB_MAX_SSTABLE_PER_TABLE = OB_MAX_INDEX_PER_TABLE + 1; -const int64_t OB_MAX_SQL_LENGTH = 32 * 1024; -const int64_t OB_SHORT_SQL_LENGTH = 1 * 1024; // 1KB -const int64_t OB_MEDIUM_SQL_LENGTH = 2 * OB_SHORT_SQL_LENGTH; // 2KB -const int64_t OB_MAX_SERVER_ADDR_SIZE = 128; -const int64_t OB_MAX_JOIN_INFO_NUMBER = 10; -static const int64_t OB_MAX_USER_ROW_KEY_LENGTH = 16 * 1024L; // 16K -static const int64_t OB_MAX_ROW_KEY_LENGTH = 17 * +const int32_t NOT_CHECK_FLAG = 0; +const int64_t MAX_SERVER_COUNT = 1024; +const uint64_t OB_SERVER_USER_ID = 0; +const int64_t OB_MAX_INDEX_PER_TABLE = 128; +const int64_t OB_MAX_SSTABLE_PER_TABLE = OB_MAX_INDEX_PER_TABLE + 1; +const int64_t OB_MAX_SQL_LENGTH = 32 * 1024; +const int64_t OB_SHORT_SQL_LENGTH = 1 * 1024; // 1KB +const int64_t OB_MEDIUM_SQL_LENGTH = 2 * OB_SHORT_SQL_LENGTH; // 2KB +const int64_t OB_MAX_SERVER_ADDR_SIZE = 128; +const int64_t OB_MAX_JOIN_INFO_NUMBER = 10; +static const int64_t OB_MAX_USER_ROW_KEY_LENGTH = 16 * 1024L; // 16K +static const int64_t OB_MAX_ROW_KEY_LENGTH = 17 * 1024L; // 1K for extra varchar columns of root table -const int64_t OB_MAX_ROW_KEY_SPLIT = 32; -const int64_t OB_USER_MAX_ROWKEY_COLUMN_NUMBER = 64; -const int64_t OB_MAX_ROWKEY_COLUMN_NUMBER = 2 * OB_USER_MAX_ROWKEY_COLUMN_NUMBER; -const int64_t OB_MAX_COLUMN_NAME_LENGTH = 128; // Compatible with oracle, OB code logic is greater than Times -const int64_t OB_MAX_COLUMN_NAMES_LENGTH = 2 * 1024; -const int64_t OB_MAX_APP_NAME_LENGTH = 128; -const int64_t OB_MAX_OPERATOR_PROPERTY_LENGTH = 256; -const int64_t OB_MAX_DATA_SOURCE_NAME_LENGTH = 128; -const int64_t OB_TRIGGER_TYPE_LENGTH = 32; -const int64_t OB_MAX_YUNTI_USER_LENGTH = 128; -const int64_t OB_MAX_YUNTI_GROUP_LENGTH = 128; -const int64_t OB_MAX_INSTANCE_NAME_LENGTH = 128; -const int64_t OB_MAX_HOST_NAME_LENGTH = 128; -const int64_t OB_MAX_HOST_NUM = 128; -const int64_t OB_MAX_MS_TYPE_LENGTH = 10; -const int64_t OB_DEFAULT_MAX_PARALLEL_COUNT = 32; -const int64_t OB_RPC_SCAN_DEFAULT_MEM_LIMIT = 1024 * 1024 * 512; -const int64_t OB_RPC_SCAN_MIN_MEM_LIMIT = 2 * 1024 * 1024; -const int64_t OB_MAX_DEBUG_MSG_LEN = 1024; -const int64_t OB_MAX_COMPRESSOR_NAME_LENGTH = 128; -const int64_t OB_MAX_SUBQUERY_LAYER_NUM = 8; -const uint64_t OB_DEFAULT_GROUP_CONCAT_MAX_LEN = 1024; -const int64_t OB_DEFAULT_OB_INTERM_RESULT_MEM_LIMIT = 2L * 1024L * 1024L * 1024L; +const int64_t OB_MAX_ROW_KEY_SPLIT = 32; +const int64_t OB_USER_MAX_ROWKEY_COLUMN_NUMBER = 64; +const int64_t OB_MAX_ROWKEY_COLUMN_NUMBER = 2 * OB_USER_MAX_ROWKEY_COLUMN_NUMBER; +const int64_t OB_MAX_COLUMN_NAME_LENGTH = 128; // Compatible with oracle, OB code logic is greater than Times +const int64_t OB_MAX_COLUMN_NAMES_LENGTH = 2 * 1024; +const int64_t OB_MAX_APP_NAME_LENGTH = 128; +const int64_t OB_MAX_OPERATOR_PROPERTY_LENGTH = 256; +const int64_t OB_MAX_DATA_SOURCE_NAME_LENGTH = 128; +const int64_t OB_TRIGGER_TYPE_LENGTH = 32; +const int64_t OB_MAX_YUNTI_USER_LENGTH = 128; +const int64_t OB_MAX_YUNTI_GROUP_LENGTH = 128; +const int64_t OB_MAX_INSTANCE_NAME_LENGTH = 128; +const int64_t OB_MAX_HOST_NAME_LENGTH = 128; +const int64_t OB_MAX_HOST_NUM = 128; +const int64_t OB_MAX_MS_TYPE_LENGTH = 10; +const int64_t OB_DEFAULT_MAX_PARALLEL_COUNT = 32; +const int64_t OB_RPC_SCAN_DEFAULT_MEM_LIMIT = 1024 * 1024 * 512; +const int64_t OB_RPC_SCAN_MIN_MEM_LIMIT = 2 * 1024 * 1024; +const int64_t OB_MAX_DEBUG_MSG_LEN = 1024; +const int64_t OB_MAX_COMPRESSOR_NAME_LENGTH = 128; +const int64_t OB_MAX_SUBQUERY_LAYER_NUM = 8; +const uint64_t OB_DEFAULT_GROUP_CONCAT_MAX_LEN = 1024; +const int64_t OB_DEFAULT_OB_INTERM_RESULT_MEM_LIMIT = 2L * 1024L * 1024L * 1024L; // The maximum table name length that the user can specify -const int64_t OB_MAX_USER_TABLE_NAME_LENGTH = 65; // Compatible with mysql, the OB code logic is greater than the time error +const int64_t OB_MAX_USER_TABLE_NAME_LENGTH = 65; // Compatible with mysql, the OB code logic is greater than the time error // The actual maximum table name length of table_schema (the index table will have an additional prefix, so the actual length is greater than OB_MAX_USER_TABLE_NAME_LENGTH) -const int64_t OB_MAX_TABLE_NAME_LENGTH = 128; -const int64_t OB_MAX_TABLE_TYPE_LENGTH = 64; -const int64_t OB_MAX_INFOSCHEMA_TABLE_NAME_LENGTH = 64; -const int64_t OB_MAX_FILE_NAME_LENGTH = 512; -const int64_t OB_MAX_TENANT_NAME_LENGTH = 64; -const int64_t OB_MAX_TENANT_NAME_LENGTH_STORE = 128; -const int64_t OB_MAX_TENANT_INFO_LENGTH = 4096; -const int64_t OB_MAX_PARTITION_NAME_LENGTH = 64; -const int64_t OB_MAX_PARTITION_DESCRIPTION_LENGTH = 1024; -const int64_t OB_MAX_PARTITION_COMMENT_LENGTH = 1024; -const int64_t OB_MAX_PARTITION_METHOD_LENGTH = 18; -const int64_t OB_MAX_NODEGROUP_LENGTH = 12; -const int64_t OB_MAX_TEXT_PS_NAME_LENGTH = 128; +const int64_t OB_MAX_TABLE_NAME_LENGTH = 128; +const int64_t OB_MAX_TABLE_TYPE_LENGTH = 64; +const int64_t OB_MAX_INFOSCHEMA_TABLE_NAME_LENGTH = 64; +const int64_t OB_MAX_FILE_NAME_LENGTH = 512; +const int64_t OB_MAX_TENANT_NAME_LENGTH = 64; +const int64_t OB_MAX_TENANT_NAME_LENGTH_STORE = 128; +const int64_t OB_MAX_TENANT_INFO_LENGTH = 4096; +const int64_t OB_MAX_PARTITION_NAME_LENGTH = 64; +const int64_t OB_MAX_PARTITION_DESCRIPTION_LENGTH = 1024; +const int64_t OB_MAX_PARTITION_COMMENT_LENGTH = 1024; +const int64_t OB_MAX_PARTITION_METHOD_LENGTH = 18; +const int64_t OB_MAX_NODEGROUP_LENGTH = 12; +const int64_t OB_MAX_TEXT_PS_NAME_LENGTH = 128; //change from 128 to 64, according to production definition document -const int64_t OB_MAX_CHAR_LEN = 3; -const int64_t OB_MAX_QB_NAME_LENGTH = 20; // Compatible with Oracle, hint specifies the length of the maximum qb_name. -const int64_t OB_MAX_DATABASE_NAME_LENGTH = 128; // Not compatible with mysql (mysql is 64), the logic is greater than when an error is reported -const int64_t OB_MAX_TABLEGROUP_NAME_LENGTH = 128; // OB code logic is greater than or equal to an error, so modify it to 65 -const int64_t OB_MAX_ALIAS_NAME_LENGTH = 255; // Compatible with mysql, 255 visible characters. Plus 256 bytes at the end of 0 -const int64_t OB_FIRST_PARTTITION_ID = 0; -const int64_t OB_MAX_USER_NAME_LENGTH = 64; -const int64_t OB_MAX_USER_NAME_LENGTH_STORE = 128; -const int64_t OB_MAX_INFOSCHEMA_GRANTEE_LEN = 81; -const int64_t OB_MAX_USER_INFO_LENGTH = 4096; -const int64_t OB_MAX_COMMAND_LENGTH = 4096; -const int64_t OB_MAX_SESSION_STATE_LENGTH = 128; -const int64_t OB_MAX_SESSION_INFO_LENGTH = 128; -const int64_t OB_MAX_VERSION_LENGTH = 256; -const int64_t COLUMN_CHECKSUM_LENGTH = 8 * 1024; -const int64_t OB_MAX_SYS_PARAM_INFO_LENGTH = 1024; -const int64_t OB_MAX_FUNC_EXPR_LENGTH = 128; -const int64_t OB_MAX_CACHE_NAME_LENGTH = 127; -const int64_t OB_MAX_WAIT_EVENT_NAME_LENGTH = 64; -const int64_t OB_MAX_WAIT_EVENT_PARAM_LENGTH = 64; -const int64_t OB_MAX_TWO_OPERATOR_EXPR_LENGTH = 256; -const int64_t OB_MAX_OPERATOR_NAME_LENGTH = 128; -const int64_t OB_MAX_SECTION_NAME_LENGTH = 128; -const int64_t OB_MAX_FLAG_NAME_LENGTH = 128; -const int64_t OB_MAX_FLAG_VALUE_LENGTH = 512; -const int64_t OB_MAX_TOKEN_BUFFER_LENGTH = 80; -const int64_t OB_MAX_PACKET_LENGTH = 1 << 26; // max packet length, 64MB -const int64_t OB_MAX_ROW_NUMBER_PER_QUERY = 65536; -const int64_t OB_MAX_BATCH_NUMBER = 100; -const int64_t OB_MAX_TABLET_LIST_NUMBER = 64; -const int64_t OB_MAX_DISK_NUMBER = 16; // must no more than ObTimer::MAX_TASK_NUM -const int64_t OB_MAX_TIME_STR_LENGTH = 64; -const int64_t OB_IP_STR_BUFF = 30; //TODO: uniform IP/PORR length -const int64_t OB_IP_PORT_STR_BUFF = 64; -const int64_t OB_RANGE_STR_BUFSIZ = 512; -const int64_t OB_MAX_FETCH_CMD_LENGTH = 2048; -const int64_t OB_MAX_EXPIRE_INFO_STRING_LENGTH = 4096; -const int64_t OB_MAX_PART_FUNC_EXPR_LENGTH = 4096; -const int64_t OB_MAX_PART_FUNC_BIN_EXPR_LENGTH = 2 * OB_MAX_PART_FUNC_EXPR_LENGTH; -const int64_t OB_MAX_PART_FUNC_BIN_EXPR_STRING_LENGTH = 2 * OB_MAX_PART_FUNC_BIN_EXPR_LENGTH + 1; -const int64_t OB_MAX_THREAD_AIO_BUFFER_MGR_COUNT = 32; -const int64_t OB_MAX_GET_ROW_NUMBER = 10240; -const uint64_t OB_FULL_ROW_COLUMN_ID = 0; -const uint64_t OB_DELETE_ROW_COLUMN_ID = 0; -const int64_t OB_DIRECT_IO_ALIGN_BITS = 9; -const int64_t OB_DIRECT_IO_ALIGN = 1 << OB_DIRECT_IO_ALIGN_BITS; -const int64_t OB_MAX_COMPOSITE_SYMBOL_COUNT = 256; -const int64_t OB_SERVER_STATUS_LENGTH = 64; -const int64_t OB_SERVER_VERSION_LENGTH = 256; -const int64_t OB_SERVER_TYPE_LENGTH = 64; -const int64_t OB_MAX_HOSTNAME_LENGTH = 60; -const int64_t OB_MAX_USERNAME_LENGTH = 32; -const int64_t OB_MAX_PASSWORD_LENGTH = 128; -const int64_t OB_MAX_ERROR_CODE_LEN = 8; -const int64_t OB_MAX_ERROR_MSG_LEN = 512; -const int64_t OB_MAX_RESULT_MESSAGE_LENGTH = 1024; +const int64_t OB_MAX_CHAR_LEN = 3; +const int64_t OB_MAX_QB_NAME_LENGTH = 20; // Compatible with Oracle, hint specifies the length of the maximum qb_name. +const int64_t OB_MAX_DATABASE_NAME_LENGTH = 128; // Not compatible with mysql (mysql is 64), the logic is greater than when an error is reported +const int64_t OB_MAX_TABLEGROUP_NAME_LENGTH = 128; // OB code logic is greater than or equal to an error, so modify it to 65 +const int64_t OB_MAX_ALIAS_NAME_LENGTH = 255; // Compatible with mysql, 255 visible characters. Plus 256 bytes at the end of 0 +const int64_t OB_FIRST_PARTTITION_ID = 0; +const int64_t OB_MAX_USER_NAME_LENGTH = 64; +const int64_t OB_MAX_USER_NAME_LENGTH_STORE = 128; +const int64_t OB_MAX_INFOSCHEMA_GRANTEE_LEN = 81; +const int64_t OB_MAX_USER_INFO_LENGTH = 4096; +const int64_t OB_MAX_COMMAND_LENGTH = 4096; +const int64_t OB_MAX_SESSION_STATE_LENGTH = 128; +const int64_t OB_MAX_SESSION_INFO_LENGTH = 128; +const int64_t OB_MAX_VERSION_LENGTH = 256; +const int64_t COLUMN_CHECKSUM_LENGTH = 8 * 1024; +const int64_t OB_MAX_SYS_PARAM_INFO_LENGTH = 1024; +const int64_t OB_MAX_FUNC_EXPR_LENGTH = 128; +const int64_t OB_MAX_CACHE_NAME_LENGTH = 127; +const int64_t OB_MAX_WAIT_EVENT_NAME_LENGTH = 64; +const int64_t OB_MAX_WAIT_EVENT_PARAM_LENGTH = 64; +const int64_t OB_MAX_TWO_OPERATOR_EXPR_LENGTH = 256; +const int64_t OB_MAX_OPERATOR_NAME_LENGTH = 128; +const int64_t OB_MAX_SECTION_NAME_LENGTH = 128; +const int64_t OB_MAX_FLAG_NAME_LENGTH = 128; +const int64_t OB_MAX_FLAG_VALUE_LENGTH = 512; +const int64_t OB_MAX_TOKEN_BUFFER_LENGTH = 80; +const int64_t OB_MAX_PACKET_LENGTH = 1 << 26; // max packet length, 64MB +const int64_t OB_MAX_ROW_NUMBER_PER_QUERY = 65536; +const int64_t OB_MAX_BATCH_NUMBER = 100; +const int64_t OB_MAX_TABLET_LIST_NUMBER = 64; +const int64_t OB_MAX_DISK_NUMBER = 16; // must no more than ObTimer::MAX_TASK_NUM +const int64_t OB_MAX_TIME_STR_LENGTH = 64; +const int64_t OB_IP_STR_BUFF = 30; //TODO: uniform IP/PORR length +const int64_t OB_IP_PORT_STR_BUFF = 64; +const int64_t OB_RANGE_STR_BUFSIZ = 512; +const int64_t OB_MAX_FETCH_CMD_LENGTH = 2048; +const int64_t OB_MAX_EXPIRE_INFO_STRING_LENGTH = 4096; +const int64_t OB_MAX_PART_FUNC_EXPR_LENGTH = 4096; +const int64_t OB_MAX_PART_FUNC_BIN_EXPR_LENGTH = 2 * OB_MAX_PART_FUNC_EXPR_LENGTH; +const int64_t OB_MAX_PART_FUNC_BIN_EXPR_STRING_LENGTH = 2 * OB_MAX_PART_FUNC_BIN_EXPR_LENGTH + 1; +const int64_t OB_MAX_THREAD_AIO_BUFFER_MGR_COUNT = 32; +const int64_t OB_MAX_GET_ROW_NUMBER = 10240; +const uint64_t OB_FULL_ROW_COLUMN_ID = 0; +const uint64_t OB_DELETE_ROW_COLUMN_ID = 0; +const int64_t OB_DIRECT_IO_ALIGN_BITS = 9; +const int64_t OB_DIRECT_IO_ALIGN = 1 << OB_DIRECT_IO_ALIGN_BITS; +const int64_t OB_MAX_COMPOSITE_SYMBOL_COUNT = 256; +const int64_t OB_SERVER_STATUS_LENGTH = 64; +const int64_t OB_SERVER_VERSION_LENGTH = 256; +const int64_t OB_SERVER_TYPE_LENGTH = 64; +const int64_t OB_MAX_HOSTNAME_LENGTH = 60; +const int64_t OB_MAX_USERNAME_LENGTH = 32; +const int64_t OB_MAX_PASSWORD_LENGTH = 128; +const int64_t OB_MAX_ERROR_CODE_LEN = 8; +const int64_t OB_MAX_ERROR_MSG_LEN = 512; +const int64_t OB_MAX_RESULT_MESSAGE_LENGTH = 1024; const int64_t OB_MAX_DEFINER_LENGTH= OB_MAX_USER_NAME_LENGTH_STORE + OB_MAX_HOST_NAME_LENGTH + 1; //user@host -const int64_t OB_MAX_SECURITY_TYPE_LENGTH = 7; //definer or invoker -const int64_t OB_MAX_READ_ONLY_STATE_LENGTH = 16; +const int64_t OB_MAX_SECURITY_TYPE_LENGTH = 7; //definer or invoker +const int64_t OB_MAX_READ_ONLY_STATE_LENGTH = 16; //At present, the log module reads and writes the buffer using OB_MAX_LOG_BUFFER_SIZE, //the length of the transaction submitted to the log module is required to be less than the length of the log module can read //and write the log, minus the length of the log header, the BLOCK header and the EOF, here is defined a length minus 1024B -const int64_t OB_MAX_LOG_ALLOWED_SIZE = 1965056L; //OB_MAX_LOG_BUFFER_SIZE - 1024B -const int64_t OB_MAX_LOG_BUFFER_SIZE = 1966080L; // 1.875MB -const int64_t OB_MAX_TRIGGER_VCHAR_PARAM_LENGTH = 128; -const int64_t OB_TRIGGER_MSG_LENGTH = 3 * MAX_IP_ADDR_LENGTH +const int64_t OB_MAX_LOG_ALLOWED_SIZE = 1965056L; //OB_MAX_LOG_BUFFER_SIZE - 1024B +const int64_t OB_MAX_LOG_BUFFER_SIZE = 1966080L; // 1.875MB +const int64_t OB_MAX_TRIGGER_VCHAR_PARAM_LENGTH = 128; +const int64_t OB_TRIGGER_MSG_LENGTH = 3 * MAX_IP_ADDR_LENGTH + OB_TRIGGER_TYPE_LENGTH + 3 * OB_MAX_TRIGGER_VCHAR_PARAM_LENGTH; -const int32_t OB_SAFE_COPY_COUNT = 3; -const int32_t OB_DEFAULT_REPLICA_NUM = 3; -const int32_t OB_DEC_AND_LOCK = 2626; /* used by remoe_plan in ObPsStore */ -const int32_t OB_MAX_SCHEMA_VERSION_INTERVAL = 40 * 1000 * 1000; // 40s +const int32_t OB_SAFE_COPY_COUNT = 3; +const int32_t OB_DEFAULT_REPLICA_NUM = 3; +const int32_t OB_DEC_AND_LOCK = 2626; /* used by remoe_plan in ObPsStore */ +const int32_t OB_MAX_SCHEMA_VERSION_INTERVAL = 40 * 1000 * 1000; // 40s -const int32_t OB_MAX_SUB_GET_REQUEST_NUM = 256; -const int32_t OB_DEFAULT_MAX_GET_ROWS_PER_SUBREQ = 20; +const int32_t OB_MAX_SUB_GET_REQUEST_NUM = 256; +const int32_t OB_DEFAULT_MAX_GET_ROWS_PER_SUBREQ = 20; -const int64_t OB_MPI_MAX_PARTITION_NUM = 128; -const int64_t OB_MPI_MAX_TASK_NUM = 256; +const int64_t OB_MPI_MAX_PARTITION_NUM = 128; +const int64_t OB_MPI_MAX_TASK_NUM = 256; -static const int64_t OB_MAX_TABLE_NUM_PER_STMT = 256; -static const int64_t OB_TMP_BUF_SIZE_256 = 256; +static const int64_t OB_MAX_TABLE_NUM_PER_STMT = 256; +static const int64_t OB_TMP_BUF_SIZE_256 = 256; static const int64_t OB_SCHEMA_MGR_MAX_USED_TID_MAP_BUCKET_NUM = 64; -static const int64_t OB_ALIAS_TABLE_MAP_MAX_BUCKET_NUM = 8; +static const int64_t OB_ALIAS_TABLE_MAP_MAX_BUCKET_NUM = 8; //plan cache -const int64_t OB_PC_NOT_PARAM_COUNT = 8; -const int64_t OB_PC_SPECIAL_PARAM_COUNT = 16; -const int64_t OB_PC_RAW_PARAM_COUNT = 128; -const int64_t OB_PLAN_CACHE_PERCENTAGE = 20; -const int64_t OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE = 90; -const int64_t OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE = 50; +const int64_t OB_PC_NOT_PARAM_COUNT = 8; +const int64_t OB_PC_SPECIAL_PARAM_COUNT = 16; +const int64_t OB_PC_RAW_PARAM_COUNT = 128; +const int64_t OB_PLAN_CACHE_PERCENTAGE = 20; +const int64_t OB_PLAN_CACHE_EVICT_HIGH_PERCENTAGE = 90; +const int64_t OB_PLAN_CACHE_EVICT_LOW_PERCENTAGE = 50; // OceanBase Log Synchronization Type -const int64_t OB_LOG_NOSYNC = 0; -const int64_t OB_LOG_SYNC = 1; -const int64_t OB_LOG_DELAYED_SYNC = 2; -const int64_t OB_LOG_NOT_PERSISTENT = 4; - -const int64_t OB_MAX_UPS_LEASE_DURATION_US = INT64_MAX; - -const int64_t OB_EXECABLE = 1; -const int64_t OB_WRITEABLE = 2; -const int64_t OB_READABLE = 4; -const int64_t OB_SCHEMA_START_VERSION = 100; -const int64_t OB_SYS_PARAM_ROW_KEY_LENGTH = 192; -const int64_t OB_MAX_SYS_PARAM_NAME_LENGTH = 128; -const int64_t OB_MAX_SYS_PARAM_VALUE_LENGTH = 1024; -const int64_t OB_MAX_SYS_PARAM_NUM = 500; -const int64_t OB_MAX_PREPARE_STMT_NUM_PER_SESSION = 512; -const int64_t OB_MAX_VAR_NUM_PER_SESSION = 1024; +const int64_t OB_LOG_NOSYNC = 0; +const int64_t OB_LOG_SYNC = 1; +const int64_t OB_LOG_DELAYED_SYNC = 2; +const int64_t OB_LOG_NOT_PERSISTENT = 4; + +const int64_t OB_MAX_UPS_LEASE_DURATION_US = INT64_MAX; + +const int64_t OB_EXECABLE = 1; +const int64_t OB_WRITEABLE = 2; +const int64_t OB_READABLE = 4; +const int64_t OB_SCHEMA_START_VERSION = 100; +const int64_t OB_SYS_PARAM_ROW_KEY_LENGTH = 192; +const int64_t OB_MAX_SYS_PARAM_NAME_LENGTH = 128; +const int64_t OB_MAX_SYS_PARAM_VALUE_LENGTH = 1024; +const int64_t OB_MAX_SYS_PARAM_NUM = 500; +const int64_t OB_MAX_PREPARE_STMT_NUM_PER_SESSION = 512; +const int64_t OB_MAX_VAR_NUM_PER_SESSION = 1024; // The maximum time set by the user through hint/set session.ob_query_timeout/set session.ob_tx_timeout is 102 years // The purpose of this is to avoid that when the user enters a value that is too large, adding the current timestamp causes the MAX_INT64 to overflow -const int64_t OB_MAX_USER_SPECIFIED_TIMEOUT = 102L * 365L * 24L * 60L * 60L * 1000L * 1000L; -const int64_t OB_MAX_PROCESS_TIMEOUT = 5L * 60L * 1000L * 1000L; // 5m -const int64_t OB_DEFAULT_SESSION_TIMEOUT = 100L * 1000L * 1000L; // 10s -const int64_t OB_DEFAULT_STMT_TIMEOUT = 30L * 1000L * 1000L; // 30s -const int64_t OB_DEFAULT_INTERNAL_TABLE_QUERY_TIMEOUT = 10L * 1000L * 1000L; // 10s -const int64_t OB_DEFAULT_STREAM_WAIT_TIMEOUT = 10L * 1000L * 1000L; // 10s -const int64_t OB_DEFAULT_JOIN_BATCH_COUNT = 10000; -const int64_t OB_AIO_TIMEOUT_US = 5L * 1000L * 1000L; //5s -const int64_t OB_DEFAULT_TENANT_COUNT = 100000; //10w -const int64_t OB_ONLY_SYS_TENANT_COUNT = 2; -const int64_t OB_MAX_SERVER_SESSION_CNT = 32767; -const int64_t OB_MAX_SERVER_TENANT_CNT = 1000; -const int64_t OB_RECYCLE_MACRO_BLOCK_DURATION = 10 * 60 * 1000 * 1000LL; // 10 minutes -const int64_t OB_MAX_PARTITION_NUM_PER_SERVER = 100000; //10w -const int64_t OB_MAX_TIME = 3020399000000; +const int64_t OB_MAX_USER_SPECIFIED_TIMEOUT = 102L * 365L * 24L * 60L * 60L * 1000L * 1000L; +const int64_t OB_MAX_PROCESS_TIMEOUT = 5L * 60L * 1000L * 1000L; // 5m +const int64_t OB_DEFAULT_SESSION_TIMEOUT = 100L * 1000L * 1000L; // 10s +const int64_t OB_DEFAULT_STMT_TIMEOUT = 30L * 1000L * 1000L; // 30s +const int64_t OB_DEFAULT_INTERNAL_TABLE_QUERY_TIMEOUT = 10L * 1000L * 1000L; // 10s +const int64_t OB_DEFAULT_STREAM_WAIT_TIMEOUT = 10L * 1000L * 1000L; // 10s +const int64_t OB_DEFAULT_JOIN_BATCH_COUNT = 10000; +const int64_t OB_AIO_TIMEOUT_US = 5L * 1000L * 1000L; //5s +const int64_t OB_DEFAULT_TENANT_COUNT = 100000; //10w +const int64_t OB_ONLY_SYS_TENANT_COUNT = 2; +const int64_t OB_MAX_SERVER_SESSION_CNT = 32767; +const int64_t OB_MAX_SERVER_TENANT_CNT = 1000; +const int64_t OB_RECYCLE_MACRO_BLOCK_DURATION = 10 * 60 * 1000 * 1000LL; // 10 minutes +const int64_t OB_MAX_PARTITION_NUM_PER_SERVER = 100000; //10w +const int64_t OB_MAX_TIME = 3020399000000; // Max add partition member timeout. // Used to make sure no member added after lease expired + %OB_MAX_ADD_MEMBER_TIMEOUT -const int64_t OB_MAX_ADD_MEMBER_TIMEOUT = 60L * 1000L * 1000L; // 1 minute -const int64_t OB_MAX_PACKET_FLY_TS = 100 * 1000L; // 100ms +const int64_t OB_MAX_ADD_MEMBER_TIMEOUT = 60L * 1000L * 1000L; // 1 minute +const int64_t OB_MAX_PACKET_FLY_TS = 100 * 1000L; // 100ms //Oceanbase network protocol /* 4bytes 4bytes 4bytes 4bytes * ----------------------------------- * | flag | dlen | chid | reserved | * ----------------------------------- */ -const uint32_t OB_NET_HEADER_LENGTH = 16; //16 bytes packet header +const uint32_t OB_NET_HEADER_LENGTH = 16; //16 bytes packet header const uint32_t OB_MAX_RPC_PACKET_LENGTH - = static_cast(OB_MAX_PACKET_LENGTH - OB_NET_HEADER_LENGTH); + = static_cast(OB_MAX_PACKET_LENGTH - OB_NET_HEADER_LENGTH); -const int OB_TBNET_PACKET_FLAG = 0x416e4574; -const int OB_SERVER_ADDR_STR_LEN = 128; //used for buffer size of easy_int_addr_to_str +const int OB_TBNET_PACKET_FLAG = 0x416e4574; +const int OB_SERVER_ADDR_STR_LEN = 128; //used for buffer size of easy_int_addr_to_str /* 3bytes 1 byte * ------------------ * | len | seq | * ------------------ */ -const int64_t OB_MYSQL_HEADER_LENGTH = 4; /** 3bytes length + 1byte seq*/ +const int64_t OB_MYSQL_HEADER_LENGTH = 4; /** 3bytes length + 1byte seq*/ -const int64_t OB_UPS_START_MAJOR_VERSION = 2; -const int64_t OB_UPS_START_MINOR_VERSION = 1; +const int64_t OB_UPS_START_MAJOR_VERSION = 2; +const int64_t OB_UPS_START_MINOR_VERSION = 1; -const int64_t OB_NEWEST_DATA_VERSION = -2; +const int64_t OB_NEWEST_DATA_VERSION = -2; -const int32_t OB_CONNECTION_FREE_TIME_S = 240; +const int32_t OB_CONNECTION_FREE_TIME_S = 240; /// @see ob_object.cpp and ob_expr_obj.cpp -static const float OB_FLOAT_EPSINON = static_cast(1e-6); -static const double OB_DOUBLE_EPSINON = 1e-14; +static const float OB_FLOAT_EPSINON = static_cast(1e-6); +static const double OB_DOUBLE_EPSINON = 1e-14; -const uint64_t OB_UPS_MAX_MINOR_VERSION_NUM = 2048; -const int64_t OB_MAX_COMPACTSSTABLE_NUM = 64; -const int32_t OB_UPS_LIMIT_RATIO = 2; +const uint64_t OB_UPS_MAX_MINOR_VERSION_NUM = 2048; +const int64_t OB_MAX_COMPACTSSTABLE_NUM = 64; +const int32_t OB_UPS_LIMIT_RATIO = 2; -const int64_t OB_MERGED_VERSION_INIT = 1; +const int64_t OB_MERGED_VERSION_INIT = 1; -const int64_t OB_TRACE_BUFFER_SIZE = 4 * 1024; //4k +const int64_t OB_TRACE_BUFFER_SIZE = 4 * 1024; //4k const int64_t OB_TRACE_STAT_BUFFER_SIZE= 200; //200 -const int64_t OB_MAX_VERSION_COUNT = 64;// max version count -const int64_t OB_EASY_HANDLER_COST_TIME = 5 * 1000; // 5ms +const int64_t OB_MAX_VERSION_COUNT = 64;// max version count +const int64_t OB_EASY_HANDLER_COST_TIME = 5 * 1000; // 5ms enum DBServerType { @@ -346,116 +346,116 @@ enum ObServerManagerOp OB_SHUTDOWN = 1, OB_RESTART = 2, OB_ADD = 3, OB_DELETE = 4, }; -static const int OB_FAKE_MS_PORT = 2828; -static const uint64_t OB_MAX_PS_PARAM_COUNT = 65535; -static const uint64_t OB_MAX_PS_FIELD_COUNT = 65535; +static const int OB_FAKE_MS_PORT = 2828; +static const uint64_t OB_MAX_PS_PARAM_COUNT = 65535; +static const uint64_t OB_MAX_PS_FIELD_COUNT = 65535; // OB_ALL_MAX_COLUMN_ID must <= 65535, it is used in ob_cs_create_plan.h -static const uint64_t OB_ALL_MAX_COLUMN_ID = 65535; +static const uint64_t OB_ALL_MAX_COLUMN_ID = 65535; // internal columns id -const uint64_t OB_NOT_EXIST_COLUMN_ID = 0; -const uint64_t OB_HIDDEN_PK_INCREMENT_COLUMN_ID = 1; //hidden pk contain 3 column (seq, cluster_id, partition_id) -const uint64_t OB_CREATE_TIME_COLUMN_ID = 2; -const uint64_t OB_MODIFY_TIME_COLUMN_ID = 3; -const uint64_t OB_HIDDEN_PK_CLUSTER_COLUMN_ID = 4; -const uint64_t OB_HIDDEN_PK_PARTITION_COLUMN_ID = 5; -const int64_t OB_END_RESERVED_COLUMN_ID_NUM = 16; -const uint64_t OB_APP_MIN_COLUMN_ID = 16; -const uint64_t OB_ACTION_FLAG_COLUMN_ID = OB_ALL_MAX_COLUMN_ID +const uint64_t OB_NOT_EXIST_COLUMN_ID = 0; +const uint64_t OB_HIDDEN_PK_INCREMENT_COLUMN_ID = 1; //hidden pk contain 3 column (seq, cluster_id, partition_id) +const uint64_t OB_CREATE_TIME_COLUMN_ID = 2; +const uint64_t OB_MODIFY_TIME_COLUMN_ID = 3; +const uint64_t OB_HIDDEN_PK_CLUSTER_COLUMN_ID = 4; +const uint64_t OB_HIDDEN_PK_PARTITION_COLUMN_ID = 5; +const int64_t OB_END_RESERVED_COLUMN_ID_NUM = 16; +const uint64_t OB_APP_MIN_COLUMN_ID = 16; +const uint64_t OB_ACTION_FLAG_COLUMN_ID = OB_ALL_MAX_COLUMN_ID - OB_END_RESERVED_COLUMN_ID_NUM + 1; /* 65520 */ -const uint64_t OB_MAX_TMP_COLUMN_ID = OB_ALL_MAX_COLUMN_ID +const uint64_t OB_MAX_TMP_COLUMN_ID = OB_ALL_MAX_COLUMN_ID - OB_END_RESERVED_COLUMN_ID_NUM; -const char *const OB_UPDATE_MSG_FMT = " Rows matched: %ld Changed: %ld Warnings: %ld"; -const char *const OB_INSERT_MSG_FMT = " Records: %ld Duplicates: %ld Warnings: %ld"; -const char OB_PADDING_CHAR = ' '; -const char OB_PADDING_BINARY = '\0'; -const char *const OB_VALUES = "__values"; +const char *const OB_UPDATE_MSG_FMT = " Rows matched: %ld Changed: %ld Warnings: %ld"; +const char *const OB_INSERT_MSG_FMT = " Records: %ld Duplicates: %ld Warnings: %ld"; +const char OB_PADDING_CHAR = ' '; +const char OB_PADDING_BINARY = '\0'; +const char *const OB_VALUES = "__values"; // hidden primary key name const char *const OB_HIDDEN_PK_INCREMENT_COLUMN_NAME = "__pk_increment"; //hidden -const char *const OB_HIDDEN_PK_CLUSTER_COLUMN_NAME = "__pk_cluster_id"; +const char *const OB_HIDDEN_PK_CLUSTER_COLUMN_NAME = "__pk_cluster_id"; const char *const OB_HIDDEN_PK_PARTITION_COLUMN_NAME = "__pk_partition_id"; // internal index prefix -const char *const OB_INDEX_PREFIX = "__idx_"; +const char *const OB_INDEX_PREFIX = "__idx_"; // internal user -const char *const OB_INTERNAL_USER = "__ob_server"; +const char *const OB_INTERNAL_USER = "__ob_server"; -const char *const OB_SERVER_ROLE_VAR_NAME = "__ob_server_role"; +const char *const OB_SERVER_ROLE_VAR_NAME = "__ob_server_role"; //trace id -const char *const OB_TRACE_ID_VAR_NAME = "__ob_trace_id"; -const char *const OB_TRACE_INFO_VAR_NAME = "ob_trace_info"; -const char *const OB_TRACE_INFO_CLIENT_IP = "client_ip"; -const int64_t MAX_IP_BUFFER_LEN = 32; +const char *const OB_TRACE_ID_VAR_NAME = "__ob_trace_id"; +const char *const OB_TRACE_INFO_VAR_NAME = "ob_trace_info"; +const char *const OB_TRACE_INFO_CLIENT_IP = "client_ip"; +const int64_t MAX_IP_BUFFER_LEN = 32; /////////////////////////////////////////////////////////// // SYSTEM TABLES // /////////////////////////////////////////////////////////// // SYTEM TABLES ID (0, 500), they should not be mutated -static const uint64_t OB_NOT_EXIST_TABLE_TID = 0; +static const uint64_t OB_NOT_EXIST_TABLE_TID = 0; /////////////////////////////////////////////////////////// // VIRUTAL TABLES // /////////////////////////////////////////////////////////// // virtual table ID for SHOW statements start from 601 -static const uint64_t OB_LAST_SHOW_TID = 611; +static const uint64_t OB_LAST_SHOW_TID = 611; /////////////////////////////////////////////////////////// // ini schema // /////////////////////////////////////////////////////////// -const char *const OB_BACKUP_SCHEMA_FILE_PATTERN = "etc/%s.schema.bin"; +const char *const OB_BACKUP_SCHEMA_FILE_PATTERN = "etc/%s.schema.bin"; //////////////////////////////////////////////////////////// // schema variables length // //////////////////////////////////////////////////////////// -static const int64_t TEMP_ROWKEY_LENGTH = 64; -static const int64_t SERVER_TYPE_LENGTH = 16; -static const int64_t SERVER_STAT_LENGTH = 64; -static const int64_t TABLE_MAX_KEY_LENGTH = 128; -static const int64_t TABLE_MAX_VALUE_LENGTH = 128; -static const int64_t MAX_ZONE_INFO_LENGTH = 4096; -static const int64_t UPS_SESSION_TYPE_LENGTH = 64; -static const int64_t UPS_MEMTABLE_LOG_LENGTH = 128; -static const int64_t COLUMN_TYPE_LENGTH = 64; -static const int64_t COLUMN_NULLABLE_LENGTH = 4; -static const int64_t COLUMN_KEY_LENGTH = 4; -static const int64_t COLUMN_DEFAULT_LENGTH = 4 * 1024; -static const int64_t COLUMN_EXTRA_LENGTH = 4 * 1024; -static const int64_t DATABASE_DEFINE_LENGTH = 4 * 1024; -static const int64_t TABLE_DEFINE_LENGTH = 4 * 1024; -static const int64_t TENANT_DEFINE_LENGTH = 4 * 1024; -static const int64_t ROW_FORMAT_LENGTH = 10; -static const int64_t MAX_ENGINE_LENGTH = 64; -static const int64_t MAX_CHARSET_LENGTH = 128; -static const int64_t MAX_CHARSET_DESCRIPTION_LENGTH = 64; -static const int64_t MAX_COLLATION_LENGTH = 128; -static const int64_t MAX_TABLE_STATUS_CREATE_OPTION_LENGTH = 1024; -static const int64_t MAX_BOOL_STR_LENGTH = 4; +static const int64_t TEMP_ROWKEY_LENGTH = 64; +static const int64_t SERVER_TYPE_LENGTH = 16; +static const int64_t SERVER_STAT_LENGTH = 64; +static const int64_t TABLE_MAX_KEY_LENGTH = 128; +static const int64_t TABLE_MAX_VALUE_LENGTH = 128; +static const int64_t MAX_ZONE_INFO_LENGTH = 4096; +static const int64_t UPS_SESSION_TYPE_LENGTH = 64; +static const int64_t UPS_MEMTABLE_LOG_LENGTH = 128; +static const int64_t COLUMN_TYPE_LENGTH = 64; +static const int64_t COLUMN_NULLABLE_LENGTH = 4; +static const int64_t COLUMN_KEY_LENGTH = 4; +static const int64_t COLUMN_DEFAULT_LENGTH = 4 * 1024; +static const int64_t COLUMN_EXTRA_LENGTH = 4 * 1024; +static const int64_t DATABASE_DEFINE_LENGTH = 4 * 1024; +static const int64_t TABLE_DEFINE_LENGTH = 4 * 1024; +static const int64_t TENANT_DEFINE_LENGTH = 4 * 1024; +static const int64_t ROW_FORMAT_LENGTH = 10; +static const int64_t MAX_ENGINE_LENGTH = 64; +static const int64_t MAX_CHARSET_LENGTH = 128; +static const int64_t MAX_CHARSET_DESCRIPTION_LENGTH = 64; +static const int64_t MAX_COLLATION_LENGTH = 128; +static const int64_t MAX_TABLE_STATUS_CREATE_OPTION_LENGTH = 1024; +static const int64_t MAX_BOOL_STR_LENGTH = 4; static const int64_t INDEX_SUB_PART_LENGTH= 256; -static const int64_t INDEX_PACKED_LENGTH = 256; -static const int64_t INDEX_NULL_LENGTH = 128; -static const int64_t MAX_GRANT_LENGTH = 1024; -static const int64_t MAX_SQL_PATH_LENGTH = 512; -static const int64_t MAX_TENANT_COMMENT_LENGTH = 4096; -static const int64_t MAX_DATABASE_COMMENT_LENGTH = 2048; -static const int64_t MAX_TABLE_COMMENT_LENGTH = 4096; -static const int64_t MAX_INDEX_COMMENT_LENGTH = 2048; -static const int64_t MAX_TABLEGROUP_COMMENT_LENGTH = 4096; -static const int64_t MAX_VERSION_LENGTH = 128; -static const int64_t MAX_FREEZE_STATUS_LENGTH = 64; -static const int64_t MAX_FREEZE_SUBMIT_STATUS_LENGTH = 64; -static const int64_t MAX_REPLAY_LOG_TYPE_LENGTH = 64; +static const int64_t INDEX_PACKED_LENGTH = 256; +static const int64_t INDEX_NULL_LENGTH = 128; +static const int64_t MAX_GRANT_LENGTH = 1024; +static const int64_t MAX_SQL_PATH_LENGTH = 512; +static const int64_t MAX_TENANT_COMMENT_LENGTH = 4096; +static const int64_t MAX_DATABASE_COMMENT_LENGTH = 2048; +static const int64_t MAX_TABLE_COMMENT_LENGTH = 4096; +static const int64_t MAX_INDEX_COMMENT_LENGTH = 2048; +static const int64_t MAX_TABLEGROUP_COMMENT_LENGTH = 4096; +static const int64_t MAX_VERSION_LENGTH = 128; +static const int64_t MAX_FREEZE_STATUS_LENGTH = 64; +static const int64_t MAX_FREEZE_SUBMIT_STATUS_LENGTH = 64; +static const int64_t MAX_REPLAY_LOG_TYPE_LENGTH = 64; //columns -static const int64_t MAX_TABLE_CATALOG_LENGTH = 4096; -static const int64_t MAX_COLUMN_COMMENT_LENGTH = 2048; // Consistent with mysql, changed from 1024 to 2048 -static const int64_t MAX_COLUMN_KEY_LENGTH = 3; -static const int64_t MAX_NUMERIC_PRECISION_LENGTH = 9; -static const int64_t MAX_NUMERIC_SCALE_LENGTH = 9; -static const int64_t MAX_COLUMN_PRIVILEGE_LENGTH = 200; -static const int64_t MAX_PRIVILEGE_CONTEXT_LENGTH = 80; +static const int64_t MAX_TABLE_CATALOG_LENGTH = 4096; +static const int64_t MAX_COLUMN_COMMENT_LENGTH = 2048; // Consistent with mysql, changed from 1024 to 2048 +static const int64_t MAX_COLUMN_KEY_LENGTH = 3; +static const int64_t MAX_NUMERIC_PRECISION_LENGTH = 9; +static const int64_t MAX_NUMERIC_SCALE_LENGTH = 9; +static const int64_t MAX_COLUMN_PRIVILEGE_LENGTH = 200; +static const int64_t MAX_PRIVILEGE_CONTEXT_LENGTH = 80; static const int64_t MAX_INFOSCHEMA_COLUMN_PRIVILEGE_LENGTH = 64; -static const int64_t MAX_COLUMN_YES_NO_LENGTH = 3; -static const int64_t MAX_COLUMN_VARCHAR_LENGTH = 262143; -static const int64_t MAX_COLUMN_CHAR_LENGTH = 255; +static const int64_t MAX_COLUMN_YES_NO_LENGTH = 3; +static const int64_t MAX_COLUMN_VARCHAR_LENGTH = 262143; +static const int64_t MAX_COLUMN_CHAR_LENGTH = 255; //////////////////////////////////////////////////////////// // table id range definition // @@ -463,106 +463,106 @@ static const int64_t MAX_COLUMN_CHAR_LENGTH = 255; // must keep same with generate_inner_table_schema.py // don't use share/inner_table/ob_inner_table_schema.h to avoid dependence. -static const int64_t OB_SCHEMA_CODE_VERSION = 1; -const uint64_t OB_MAX_CORE_TABLE_ID = 100; -const uint64_t OB_MAX_SYS_TABLE_ID = 10000; -const uint64_t OB_MAX_VIRTUAL_TABLE_ID = 20000; -const uint64_t OB_MAX_SYS_VIEW_ID = 30000; -static const uint64_t OB_MIN_USER_TABLE_ID = 50000; -static const uint64_t OB_MIN_SHADOW_COLUMN_ID = 32767; -static const uint64_t OB_MAX_SYS_POOL_ID = 100; +static const int64_t OB_SCHEMA_CODE_VERSION = 1; +const uint64_t OB_MAX_CORE_TABLE_ID = 100; +const uint64_t OB_MAX_SYS_TABLE_ID = 10000; +const uint64_t OB_MAX_VIRTUAL_TABLE_ID = 20000; +const uint64_t OB_MAX_SYS_VIEW_ID = 30000; +static const uint64_t OB_MIN_USER_TABLE_ID = 50000; +static const uint64_t OB_MIN_SHADOW_COLUMN_ID = 32767; +static const uint64_t OB_MAX_SYS_POOL_ID = 100; // ddl related -static const char *const OB_SYS_USER_NAME = "root"; -static const char *const OB_SYS_TENANT_NAME = "sys"; - -static const int64_t DEFAULT_MAX_SYS_MEMORY = 32L << 30; -static const int64_t DEFAULT_MIN_SYS_MEMORY = 28L << 30; -static const double DEFAULT_MAX_SYS_CPU = 5.; - -static const double MIN_SYS_TENANT_QUOTA = 2.5; -static const double MIN_TENANT_QUOTA = .5; -static const double EXT_LOG_TENANT_CPU = 4.; -static const int64_t EXT_LOG_TENANT_MEMORY_LIMIT = 4L << 30; - -static const uint64_t OB_INVALID_TENANT_ID = 0; -static const uint64_t OB_SYS_TENANT_ID = 1; -static const uint64_t OB_SERVER_TENANT_ID = 500; -static const uint64_t OB_ELECT_TENANT_ID = 501; -static const uint64_t OB_LOC_CORE_TENANT_ID = 502; -static const uint64_t OB_LOC_ROOT_TENANT_ID = 503; -static const uint64_t OB_LOC_SYS_TENANT_ID = 504; -static const uint64_t OB_LOC_USER_TENANT_ID = 505; -static const uint64_t OB_EXT_LOG_TENANT_ID = 506; -static const uint64_t OB_MAX_RESERVED_TENANT_ID = 1000; - -static const uint64_t OB_SYS_USER_ID = 1; -static const uint64_t OB_EMPTY_USER_ID = 2; -static const uint64_t OB_SYS_TABLEGROUP_ID = 1; -static const char* const OB_SYS_TABLEGROUP_NAME = "oceanbase"; -static const uint64_t OB_SYS_DATABASE_ID = 1; -static const char* const OB_SYS_DATABASE_NAME = "oceanbase"; -static const uint64_t OB_INFORMATION_SCHEMA_ID = 2; -static const char* const OB_INFORMATION_SCHEMA_NAME = "information_schema"; -static const uint64_t OB_MYSQL_SCHEMA_ID = 3; -static const char* const OB_MYSQL_SCHEMA_NAME = "mysql"; -static const char* const OB_TEST_SCHEMA_NAME = "test"; -static const uint64_t OB_SYS_UNIT_CONFIG_ID = 1; -static const char * const OB_SYS_UNIT_CONFIG_NAME = "sys_unit_config"; -static const uint64_t OB_SYS_RESOURCE_POOL_ID = 1; -static const uint64_t OB_SYS_UNIT_ID = 1; -static const uint64_t OB_INIT_SERVER_ID = 1; - -static const uint64_t OB_SCHEMATA_TID = 2001; -static const char* const OB_SCHEMATA_TNAME = "schemata"; -static const char* const OB_MYSQL50_TABLE_NAME_PREFIX = "#mysql50#"; - -static const uint64_t OB_USER_TENANT_ID = 1000; -static const uint64_t OB_USER_TABLEGROUP_ID = 1000; -static const uint64_t OB_USER_DATABASE_ID = 1000; -static const uint64_t OB_USER_ID = 1000; -static const uint64_t OB_USER_UNIT_CONFIG_ID = 1000; -static const uint64_t OB_USER_RESOURCE_POOL_ID = 1000; -static const uint64_t OB_USER_UNIT_ID = 1000; -static const uint64_t OB_USER_SEQUENCE_ID = 0; -static const uint64_t OB_USER_OUTLINE_ID = 1000; -static const uint64_t OB_USER_START_DATABASE_ID = 1050;//OB_USER_DATABASE_ID = 1000; 50 are reserved to initialize the user database added by default when the tenant is initialized, such as the test library - -static const char* const OB_PRIMARY_INDEX_NAME = "PRIMARY"; - -static const int64_t OB_MAX_CONFIG_URL_LENGTH = 512; - -static const double OB_UNIT_MIN_CPU = 0.1; -static const int64_t OB_UNIT_MIN_MEMORY = 1024LL * 1024LL * 1024LL; //1G -static const int64_t OB_UNIT_MIN_DISK_SIZE = 512LL * 1024LL * 1024LL; //512MB -static const int64_t OB_UNIT_MIN_IOPS = 128; -static const int64_t OB_UNIT_MIN_SESSION_NUM = 64; +static const char *const OB_SYS_USER_NAME = "root"; +static const char *const OB_SYS_TENANT_NAME = "sys"; + +static const int64_t DEFAULT_MAX_SYS_MEMORY = 32L << 30; +static const int64_t DEFAULT_MIN_SYS_MEMORY = 28L << 30; +static const double DEFAULT_MAX_SYS_CPU = 5.; + +static const double MIN_SYS_TENANT_QUOTA = 2.5; +static const double MIN_TENANT_QUOTA = .5; +static const double EXT_LOG_TENANT_CPU = 4.; +static const int64_t EXT_LOG_TENANT_MEMORY_LIMIT = 4L << 30; + +static const uint64_t OB_INVALID_TENANT_ID = 0; +static const uint64_t OB_SYS_TENANT_ID = 1; +static const uint64_t OB_SERVER_TENANT_ID = 500; +static const uint64_t OB_ELECT_TENANT_ID = 501; +static const uint64_t OB_LOC_CORE_TENANT_ID = 502; +static const uint64_t OB_LOC_ROOT_TENANT_ID = 503; +static const uint64_t OB_LOC_SYS_TENANT_ID = 504; +static const uint64_t OB_LOC_USER_TENANT_ID = 505; +static const uint64_t OB_EXT_LOG_TENANT_ID = 506; +static const uint64_t OB_MAX_RESERVED_TENANT_ID = 1000; + +static const uint64_t OB_SYS_USER_ID = 1; +static const uint64_t OB_EMPTY_USER_ID = 2; +static const uint64_t OB_SYS_TABLEGROUP_ID = 1; +static const char* const OB_SYS_TABLEGROUP_NAME = "oceanbase"; +static const uint64_t OB_SYS_DATABASE_ID = 1; +static const char* const OB_SYS_DATABASE_NAME = "oceanbase"; +static const uint64_t OB_INFORMATION_SCHEMA_ID = 2; +static const char* const OB_INFORMATION_SCHEMA_NAME = "information_schema"; +static const uint64_t OB_MYSQL_SCHEMA_ID = 3; +static const char* const OB_MYSQL_SCHEMA_NAME = "mysql"; +static const char* const OB_TEST_SCHEMA_NAME = "test"; +static const uint64_t OB_SYS_UNIT_CONFIG_ID = 1; +static const char * const OB_SYS_UNIT_CONFIG_NAME = "sys_unit_config"; +static const uint64_t OB_SYS_RESOURCE_POOL_ID = 1; +static const uint64_t OB_SYS_UNIT_ID = 1; +static const uint64_t OB_INIT_SERVER_ID = 1; + +static const uint64_t OB_SCHEMATA_TID = 2001; +static const char* const OB_SCHEMATA_TNAME = "schemata"; +static const char* const OB_MYSQL50_TABLE_NAME_PREFIX = "#mysql50#"; + +static const uint64_t OB_USER_TENANT_ID = 1000; +static const uint64_t OB_USER_TABLEGROUP_ID = 1000; +static const uint64_t OB_USER_DATABASE_ID = 1000; +static const uint64_t OB_USER_ID = 1000; +static const uint64_t OB_USER_UNIT_CONFIG_ID = 1000; +static const uint64_t OB_USER_RESOURCE_POOL_ID = 1000; +static const uint64_t OB_USER_UNIT_ID = 1000; +static const uint64_t OB_USER_SEQUENCE_ID = 0; +static const uint64_t OB_USER_OUTLINE_ID = 1000; +static const uint64_t OB_USER_START_DATABASE_ID = 1050;//OB_USER_DATABASE_ID = 1000; 50 are reserved to initialize the user database added by default when the tenant is initialized, such as the test library + +static const char* const OB_PRIMARY_INDEX_NAME = "PRIMARY"; + +static const int64_t OB_MAX_CONFIG_URL_LENGTH = 512; + +static const double OB_UNIT_MIN_CPU = 0.1; +static const int64_t OB_UNIT_MIN_MEMORY = 1024LL * 1024LL * 1024LL; //1G +static const int64_t OB_UNIT_MIN_DISK_SIZE = 512LL * 1024LL * 1024LL; //512MB +static const int64_t OB_UNIT_MIN_IOPS = 128; +static const int64_t OB_UNIT_MIN_SESSION_NUM = 64; // for array log print -static const int64_t OB_LOG_KEEP_SIZE = 512; +static const int64_t OB_LOG_KEEP_SIZE = 512; //no need keep size for async -static const int64_t OB_ASYNC_LOG_KEEP_SIZE = 0; -static const char* const OB_LOG_ELLIPSIS = "..."; +static const int64_t OB_ASYNC_LOG_KEEP_SIZE = 0; +static const char* const OB_LOG_ELLIPSIS = "..."; -static const char *const DEFAULT_REGION_NAME = "default_region"; -static const char *const DEFAULT_PROXY_IDC_NAME = "default_idc"; +static const char *const DEFAULT_REGION_NAME = "default_region"; +static const char *const DEFAULT_PROXY_IDC_NAME = "default_idc"; // for obproxy -static const char *const OB_MYSQL_CLIENT_MODE = "__mysql_client_type"; -static const char *const OB_MYSQL_CLIENT_OBPROXY_MODE = "__ob_proxy"; -static const char *const OB_MYSQL_CONNECTION_ID = "__connection_id"; -static const char *const OB_MYSQL_GLOBAL_VARS_VERSION = "__global_vars_version"; -static const char *const OB_MYSQL_PROXY_CONNECTION_ID = "__proxy_connection_id"; -static const char *const OB_MYSQL_CLUSTER_NAME = "__cluster_name"; -static const char *const OB_MYSQL_CLUSTER_ID = "__cluster_id"; -static const char *const OB_MYSQL_CLIENT_IP = "__client_ip"; -static const char *const OB_MYSQL_CAPABILITY_FLAG = "__proxy_capability_flag"; -static const char *const OB_MYSQL_PROXY_SESSION_VARS = "__proxy_session_vars"; -static const char *const OB_MYSQL_SCRAMBLE = "__proxy_scramble"; -static const char *const OB_MYSQL_PROXY_VERSION = "__proxy_version"; +static const char *const OB_MYSQL_CLIENT_MODE = "__mysql_client_type"; +static const char *const OB_MYSQL_CLIENT_OBPROXY_MODE = "__ob_proxy"; +static const char *const OB_MYSQL_CONNECTION_ID = "__connection_id"; +static const char *const OB_MYSQL_GLOBAL_VARS_VERSION = "__global_vars_version"; +static const char *const OB_MYSQL_PROXY_CONNECTION_ID = "__proxy_connection_id"; +static const char *const OB_MYSQL_CLUSTER_NAME = "__cluster_name"; +static const char *const OB_MYSQL_CLUSTER_ID = "__cluster_id"; +static const char *const OB_MYSQL_CLIENT_IP = "__client_ip"; +static const char *const OB_MYSQL_CAPABILITY_FLAG = "__proxy_capability_flag"; +static const char *const OB_MYSQL_PROXY_SESSION_VARS = "__proxy_session_vars"; +static const char *const OB_MYSQL_SCRAMBLE = "__proxy_scramble"; +static const char *const OB_MYSQL_PROXY_VERSION = "__proxy_version"; // for java client -static const char *const OB_MYSQL_JAVA_CLIENT_MODE_NAME = "__ob_java_client"; +static const char *const OB_MYSQL_JAVA_CLIENT_MODE_NAME = "__ob_java_client"; // for obproxy and observer compatibility enum ObCapabilityFlagShift @@ -679,126 +679,126 @@ OB_INLINE bool is_sys_resource_pool(const uint64_t resource_pool_id) } // ob_malloc & ob_tc_malloc -static const int64_t OB_MALLOC_NORMAL_BLOCK_SIZE = (1LL << 13); // 8KB -static const int64_t OB_MALLOC_MIDDLE_BLOCK_SIZE = (1LL << 16); // 64KB -static const int64_t OB_MALLOC_BIG_BLOCK_SIZE = (1LL << 21) - (1LL << 10);// 2MB (-1KB) +static const int64_t OB_MALLOC_NORMAL_BLOCK_SIZE = (1LL << 13); // 8KB +static const int64_t OB_MALLOC_MIDDLE_BLOCK_SIZE = (1LL << 16); // 64KB +static const int64_t OB_MALLOC_BIG_BLOCK_SIZE = (1LL << 21) - (1LL << 10);// 2MB (-1KB) -const int64_t OB_MAX_MYSQL_RESPONSE_PACKET_SIZE = OB_MALLOC_BIG_BLOCK_SIZE; +const int64_t OB_MAX_MYSQL_RESPONSE_PACKET_SIZE = OB_MALLOC_BIG_BLOCK_SIZE; /// Maximum number of elements/columns a row can contain -static const int64_t OB_USER_ROW_MAX_COLUMNS_COUNT = 512; -static const int64_t OB_ROW_MAX_COLUMNS_COUNT = +static const int64_t OB_USER_ROW_MAX_COLUMNS_COUNT = 512; +static const int64_t OB_ROW_MAX_COLUMNS_COUNT = OB_USER_ROW_MAX_COLUMNS_COUNT + 2 * OB_USER_MAX_ROWKEY_COLUMN_NUMBER; // used in ObRow -static const int64_t OB_MAX_TIMESTAMP_LENGTH = 32; -static const int64_t OB_COMMON_MEM_BLOCK_SIZE = 64 * 1024; -static const int64_t OB_MAX_USER_ROW_LENGTH = 1572864L; // 1.5M -static const int64_t OB_MAX_ROW_LENGTH = OB_MAX_USER_ROW_LENGTH +static const int64_t OB_MAX_TIMESTAMP_LENGTH = 32; +static const int64_t OB_COMMON_MEM_BLOCK_SIZE = 64 * 1024; +static const int64_t OB_MAX_USER_ROW_LENGTH = 1572864L; // 1.5M +static const int64_t OB_MAX_ROW_LENGTH = OB_MAX_USER_ROW_LENGTH + 64L * 1024L/*for root table extra columns*/; -static const int64_t OB_MAX_MONITOR_INFO_LENGTH = 65535; -static const int64_t OB_MAX_CHAR_LENGTH = 256; // Compatible with mysql, unit character mysql is 256 -static const int64_t OB_MAX_VARCHAR_LENGTH = 256 * 1024L; // Unit byte -static const int64_t OB_MAX_VARCHAR_LENGTH_KEY = 16 * 1024L; //KEY key varchar maximum length limit -static const int64_t OB_OLD_MAX_VARCHAR_LENGTH = 64 * 1024; // for compatible purpose -static const int64_t OB_MAX_DEFAULT_VALUE_LENGTH = OB_MAX_VARCHAR_LENGTH; -static const int64_t OB_MAX_BINARY_LENGTH = 255; -static const int64_t OB_MAX_VARBINARY_LENGTH = 64 * 1024L; -static const int64_t OB_MAX_DECIMAL_PRECISION = 65; -static const int64_t OB_MAX_DECIMAL_SCALE = 30; -static const int64_t OB_DECIMAL_NOT_SPECIFIED = -1; -static const int64_t OB_MAX_DOUBLE_FLOAT_SCALE = 30; -static const int64_t OB_MAX_DOUBLE_FLOAT_PRECISION = 53; -static const int64_t OB_MAX_INTEGER_DISPLAY_WIDTH = 255; //TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT -static const int64_t OB_MAX_DOUBLE_FLOAT_DISPLAY_WIDTH = 255; -static const int64_t OB_MAX_COLUMN_NUMBER = OB_ROW_MAX_COLUMNS_COUNT; // used in ObSchemaManagerV2 -static const int64_t OB_MAX_PARTITION_KEY_COLUMN_NUMBER = OB_MAX_ROWKEY_COLUMN_NUMBER; -static const int64_t OB_MAX_USER_DEFINED_COLUMNS_COUNT = +static const int64_t OB_MAX_MONITOR_INFO_LENGTH = 65535; +static const int64_t OB_MAX_CHAR_LENGTH = 256; // Compatible with mysql, unit character mysql is 256 +static const int64_t OB_MAX_VARCHAR_LENGTH = 256 * 1024L; // Unit byte +static const int64_t OB_MAX_VARCHAR_LENGTH_KEY = 16 * 1024L; //KEY key varchar maximum length limit +static const int64_t OB_OLD_MAX_VARCHAR_LENGTH = 64 * 1024; // for compatible purpose +static const int64_t OB_MAX_DEFAULT_VALUE_LENGTH = OB_MAX_VARCHAR_LENGTH; +static const int64_t OB_MAX_BINARY_LENGTH = 255; +static const int64_t OB_MAX_VARBINARY_LENGTH = 64 * 1024L; +static const int64_t OB_MAX_DECIMAL_PRECISION = 65; +static const int64_t OB_MAX_DECIMAL_SCALE = 30; +static const int64_t OB_DECIMAL_NOT_SPECIFIED = -1; +static const int64_t OB_MAX_DOUBLE_FLOAT_SCALE = 30; +static const int64_t OB_MAX_DOUBLE_FLOAT_PRECISION = 53; +static const int64_t OB_MAX_INTEGER_DISPLAY_WIDTH = 255; //TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT +static const int64_t OB_MAX_DOUBLE_FLOAT_DISPLAY_WIDTH = 255; +static const int64_t OB_MAX_COLUMN_NUMBER = OB_ROW_MAX_COLUMNS_COUNT; // used in ObSchemaManagerV2 +static const int64_t OB_MAX_PARTITION_KEY_COLUMN_NUMBER = OB_MAX_ROWKEY_COLUMN_NUMBER; +static const int64_t OB_MAX_USER_DEFINED_COLUMNS_COUNT = OB_ROW_MAX_COLUMNS_COUNT - OB_APP_MIN_COLUMN_ID; -static const int64_t OB_CAST_TO_VARCHAR_MAX_LENGTH = 256; -static const int64_t OB_CAST_BUFFER_LENGTH = 256; -static const int64_t OB_PREALLOCATED_NUM = 21; // half of 42 -static const int64_t OB_PREALLOCATED_COL_ID_NUM = 128; -static const int64_t OB_MAX_DATETIME_PRECISION = 6; - -const char *const SYS_DATE = "$SYS_DATE"; -const char *const OB_DEFAULT_COMPRESS_FUNC_NAME = "none"; - -static const int64_t OB_MYSQL_FULL_USER_NAME_MAX_LEN = OB_MAX_USER_NAME_LENGTH + OB_MAX_TENANT_NAME_LENGTH;//username@tenantname -static const int64_t OB_MAX_CONFIG_NAME_LEN = 128; -static const int64_t OB_MAX_CONFIG_VALUE_LEN = 4096; -static const int64_t OB_MAX_CONFIG_TYPE_LENGTH = 128; -static const int64_t OB_MAX_CONFIG_INFO_LEN = 4096; -static const int64_t OB_MAX_CONFIG_SECTION_LEN = 128; -static const int64_t OB_MAX_CONFIG_VISIBLE_LEVEL_LEN = 64; -static const int64_t OB_MAX_CONFIG_NEED_REBOOT_LEN = 64; -static const int64_t OB_MAX_CONFIG_NUMBER = 1024; -static const int64_t OB_MAX_EXTRA_CONFIG_LENGTH = 4096; - -static const int64_t OB_TABLET_MAX_REPLICA_COUNT = 6; +static const int64_t OB_CAST_TO_VARCHAR_MAX_LENGTH = 256; +static const int64_t OB_CAST_BUFFER_LENGTH = 256; +static const int64_t OB_PREALLOCATED_NUM = 21; // half of 42 +static const int64_t OB_PREALLOCATED_COL_ID_NUM = 128; +static const int64_t OB_MAX_DATETIME_PRECISION = 6; + +const char *const SYS_DATE = "$SYS_DATE"; +const char *const OB_DEFAULT_COMPRESS_FUNC_NAME = "none"; + +static const int64_t OB_MYSQL_FULL_USER_NAME_MAX_LEN = OB_MAX_USER_NAME_LENGTH + OB_MAX_TENANT_NAME_LENGTH;//username@tenantname +static const int64_t OB_MAX_CONFIG_NAME_LEN = 128; +static const int64_t OB_MAX_CONFIG_VALUE_LEN = 4096; +static const int64_t OB_MAX_CONFIG_TYPE_LENGTH = 128; +static const int64_t OB_MAX_CONFIG_INFO_LEN = 4096; +static const int64_t OB_MAX_CONFIG_SECTION_LEN = 128; +static const int64_t OB_MAX_CONFIG_VISIBLE_LEVEL_LEN = 64; +static const int64_t OB_MAX_CONFIG_NEED_REBOOT_LEN = 64; +static const int64_t OB_MAX_CONFIG_NUMBER = 1024; +static const int64_t OB_MAX_EXTRA_CONFIG_LENGTH = 4096; + +static const int64_t OB_TABLET_MAX_REPLICA_COUNT = 6; //all_outline related -const int64_t OB_MAX_OUTLINE_CATEGORY_NAME_LENGTH = 64; -const int64_t OB_MAX_OUTLINE_SIGNATURE_LENGTH = OB_MAX_VARBINARY_LENGTH; -const int64_t OB_MAX_OF_MAX_CONCURRENT_PARAM_LENGTH = OB_MAX_VARBINARY_LENGTH; -const int64_t OB_MAX_HINT_FORMAT_LENGTH = 16; - -static const int64_t OB_MAX_PROGRESSIVE_MERGE_NUM = 64; -static const int64_t OB_DEFAULT_PROGRESSIVE_MERGE_NUM = 0; -static const int64_t OB_DEFAULT_MACRO_BLOCK_SIZE = 2 << 20; // 2MB -static const int64_t OB_DEFAULT_SSTABLE_BLOCK_SIZE = 16 * 1024; // 16KB -static const int64_t OB_DEFAULT_MAX_TABLET_SIZE = 256 * 1024 * 1024; // 256MB -static const int32_t OB_DEFAULT_CHARACTER_SET = 33; //UTF8 -static const int64_t OB_MYSQL_PACKET_BUFF_SIZE = 6 * 1024; //6KB -static const int64_t OB_MAX_THREAD_NUM = 4096; -static const int64_t OB_MAX_CPU_NUM = 64; -static const int64_t OB_MAX_STATICS_PER_TABLE = 128; - -static const int64_t OB_INDEX_WRITE_START_DELAY = 20 * 1000 * 1000; //20s - -static const int64_t MAX_SQL_ERR_MSG_LENGTH = 256; -static const int64_t MSG_SIZE = MAX_SQL_ERR_MSG_LENGTH; -static const int64_t OB_DUMP_ROOT_TABLE_TYPE = 1; -static const int64_t OB_DUMP_UNUSUAL_TABLET_TYPE = 2; -static const int64_t OB_MAX_SYS_VAR_VAL_LENGTH = 128; - -static const int64_t OB_MAX_TRACE_ID_LENGTH = 48; -static const int64_t OB_MAX_OBPROXY_TRACE_ID_LENGTH = 128; +const int64_t OB_MAX_OUTLINE_CATEGORY_NAME_LENGTH = 64; +const int64_t OB_MAX_OUTLINE_SIGNATURE_LENGTH = OB_MAX_VARBINARY_LENGTH; +const int64_t OB_MAX_OF_MAX_CONCURRENT_PARAM_LENGTH = OB_MAX_VARBINARY_LENGTH; +const int64_t OB_MAX_HINT_FORMAT_LENGTH = 16; + +static const int64_t OB_MAX_PROGRESSIVE_MERGE_NUM = 64; +static const int64_t OB_DEFAULT_PROGRESSIVE_MERGE_NUM = 0; +static const int64_t OB_DEFAULT_MACRO_BLOCK_SIZE = 2 << 20; // 2MB +static const int64_t OB_DEFAULT_SSTABLE_BLOCK_SIZE = 16 * 1024; // 16KB +static const int64_t OB_DEFAULT_MAX_TABLET_SIZE = 256 * 1024 * 1024; // 256MB +static const int32_t OB_DEFAULT_CHARACTER_SET = 33; //UTF8 +static const int64_t OB_MYSQL_PACKET_BUFF_SIZE = 6 * 1024; //6KB +static const int64_t OB_MAX_THREAD_NUM = 4096; +static const int64_t OB_MAX_CPU_NUM = 64; +static const int64_t OB_MAX_STATICS_PER_TABLE = 128; + +static const int64_t OB_INDEX_WRITE_START_DELAY = 20 * 1000 * 1000; //20s + +static const int64_t MAX_SQL_ERR_MSG_LENGTH = 256; +static const int64_t MSG_SIZE = MAX_SQL_ERR_MSG_LENGTH; +static const int64_t OB_DUMP_ROOT_TABLE_TYPE = 1; +static const int64_t OB_DUMP_UNUSUAL_TABLET_TYPE = 2; +static const int64_t OB_MAX_SYS_VAR_VAL_LENGTH = 128; + +static const int64_t OB_MAX_TRACE_ID_LENGTH = 48; +static const int64_t OB_MAX_OBPROXY_TRACE_ID_LENGTH = 128; // bitset defines -static const int64_t OB_DEFAULT_BITSET_SIZE = OB_MAX_TABLE_NUM_PER_STMT; -static const int64_t OB_DEFAULT_BITSET_SIZE_FOR_BASE_COLUMN = 64; +static const int64_t OB_DEFAULT_BITSET_SIZE = OB_MAX_TABLE_NUM_PER_STMT; +static const int64_t OB_DEFAULT_BITSET_SIZE_FOR_BASE_COLUMN = 64; static const int64_t OB_DEFAULT_BITSET_SIZE_FOR_ALIAS_COLUMN = 32; -static const int64_t OB_MAX_BITSET_SIZE = OB_ROW_MAX_COLUMNS_COUNT; -static const int64_t OB_DEFAULT_STATEMEMT_LEVEL_COUNT = 16; +static const int64_t OB_MAX_BITSET_SIZE = OB_ROW_MAX_COLUMNS_COUNT; +static const int64_t OB_DEFAULT_STATEMEMT_LEVEL_COUNT = 16; // max number of existing ObIStores for each partition, // which contains ssstore, memstore and frozen stores -static const int64_t MAX_STORE_CNT_IN_STORAGE = 64; -static const int64_t OB_MAX_PARTITION_NUM = 8192; +static const int64_t MAX_STORE_CNT_IN_STORAGE = 64; +static const int64_t OB_MAX_PARTITION_NUM = 8192; //Used to indicate the visible range of configuration items and whether to restart after modification to take effect -static const char *const OB_CONFIG_SECTION_DEFAULT = "DEFAULT"; -static const char *const OB_CONFIG_VISIBLE_LEVEL_USER = "USER"; -static const char *const OB_CONFIG_VISIBLE_LEVEL_SYS = "SYS"; -static const char *const OB_CONFIG_VISIBLE_LEVEL_DBA = "DBA"; -static const char *const OB_CONFIG_VISIBLE_LEVEL_MEMORY = "MEMORY"; -static const char *const OB_CONFIG_NEED_REBOOT = "true"; -static const char *const OB_CONFIG_NOT_NEED_REBOOT = "false"; +static const char *const OB_CONFIG_SECTION_DEFAULT = "DEFAULT"; +static const char *const OB_CONFIG_VISIBLE_LEVEL_USER = "USER"; +static const char *const OB_CONFIG_VISIBLE_LEVEL_SYS = "SYS"; +static const char *const OB_CONFIG_VISIBLE_LEVEL_DBA = "DBA"; +static const char *const OB_CONFIG_VISIBLE_LEVEL_MEMORY = "MEMORY"; +static const char *const OB_CONFIG_NEED_REBOOT = "true"; +static const char *const OB_CONFIG_NOT_NEED_REBOOT = "false"; //Precision in user data type -static const int16_t MAX_SCALE_FOR_TEMPORAL = 6; -static const int16_t MIN_SCALE_FOR_TEMPORAL = 0; -static const int16_t DEFAULT_SCALE_FOR_INTEGER = 0; -static const int16_t DEFAULT_LENGTH_FOR_NUMERIC = -1; -static const int16_t DEFAULT_SCALE_FOR_DATE = 0; -static const int16_t DEFAULT_SCALE_FOR_YEAR = 0; -static const int16_t SCALE_UNKNOWN_YET = -1; -static const int16_t PRECISION_UNKNOWN_YET = -1; -static const int16_t LENGTH_UNKNOWN_YET = -1; -static const int16_t DEFAULT_PRECISION_FOR_BOOL = 1; -static const int16_t DEFAULT_PRECISION_FOR_TEMPORAL = -1; -static const int16_t DEFAULT_LENGTH_FOR_TEMPORAL = -1; -static const int16_t DEFAULT_PRECISION_FOR_STRING = -1; -static const int16_t DEFAULT_SCALE_FOR_STRING = -1; +static const int16_t MAX_SCALE_FOR_TEMPORAL = 6; +static const int16_t MIN_SCALE_FOR_TEMPORAL = 0; +static const int16_t DEFAULT_SCALE_FOR_INTEGER = 0; +static const int16_t DEFAULT_LENGTH_FOR_NUMERIC = -1; +static const int16_t DEFAULT_SCALE_FOR_DATE = 0; +static const int16_t DEFAULT_SCALE_FOR_YEAR = 0; +static const int16_t SCALE_UNKNOWN_YET = -1; +static const int16_t PRECISION_UNKNOWN_YET = -1; +static const int16_t LENGTH_UNKNOWN_YET = -1; +static const int16_t DEFAULT_PRECISION_FOR_BOOL = 1; +static const int16_t DEFAULT_PRECISION_FOR_TEMPORAL = -1; +static const int16_t DEFAULT_LENGTH_FOR_TEMPORAL = -1; +static const int16_t DEFAULT_PRECISION_FOR_STRING = -1; +static const int16_t DEFAULT_SCALE_FOR_STRING = -1; enum ObDmlType { @@ -947,16 +947,16 @@ inline bool is_not_supported_err(int err) * |--- clog ---|-- SSStore ---|--- MemStore--| LSB */ static const int64_t SSSTORE_BITS_SHIFT = 2; -static const int64_t CLOG_BITS_SHIFT = 4; +static const int64_t CLOG_BITS_SHIFT = 4; // replica type associated with memstore -static const int64_t WITH_MEMSTORE = 0; -static const int64_t WITHOUT_MEMSTORE = 1; +static const int64_t WITH_MEMSTORE = 0; +static const int64_t WITHOUT_MEMSTORE = 1; // replica type associated with ssstore -static const int64_t WITH_SSSTORE = 0 << SSSTORE_BITS_SHIFT; -static const int64_t WITHOUT_SSSTORE = 1 << SSSTORE_BITS_SHIFT; +static const int64_t WITH_SSSTORE = 0 << SSSTORE_BITS_SHIFT; +static const int64_t WITHOUT_SSSTORE = 1 << SSSTORE_BITS_SHIFT; // replica type associated with clog -static const int64_t SYNC_CLOG = 0 << CLOG_BITS_SHIFT; -static const int64_t ASYNC_CLOG = 1 << CLOG_BITS_SHIFT; +static const int64_t SYNC_CLOG = 0 << CLOG_BITS_SHIFT; +static const int64_t ASYNC_CLOG = 1 << CLOG_BITS_SHIFT; // Need to manually maintain the replica_type_to_str function in utility.cpp, // Currently there are only three types: REPLICA_TYPE_FULL, REPLICA_TYPE_READONLY, and REPLICA_TYPE_LOGONLY diff --git a/src/lib/oblog/ob_trace_log.cpp b/src/lib/oblog/ob_trace_log.cpp index 7774be69f6efc2b74c3a1a5426b2236edd46565f..03d6d72d717796fef07940144e9fc5dfd4cba697 100644 --- a/src/lib/oblog/ob_trace_log.cpp +++ b/src/lib/oblog/ob_trace_log.cpp @@ -21,7 +21,7 @@ namespace oceanbase namespace common { const char *const TraceLog::LOG_LEVEL_ENV_KEY = "_OB_TRACE_LOG_LEVEL_"; -const char *const TraceLog::level_strs_[] = {"ERROR", "USER_ERR", "WARN", "INFO", "TRACE", "DEBUG"}; +const char *const TraceLog::level_strs_[] = {"ERROR", "USER_ERR", "WARN", "INFO", "TRACE", "DEBUG"}; volatile int TraceLog::log_level_ = OB_LOG_LEVEL_TRACE; bool TraceLog::got_env_ = false; diff --git a/src/lib/time/ob_time_utility.cpp b/src/lib/time/ob_time_utility.cpp index ed689e06eec7012e162751ddd0579e00b6bd405d..b48c31bd41e0906acfe97feafde3db1b71f8048b 100644 --- a/src/lib/time/ob_time_utility.cpp +++ b/src/lib/time/ob_time_utility.cpp @@ -37,7 +37,7 @@ namespace oceanbase { namespace common { -const char *ObTimeUtility::mday_name_[31] = +const char *ObTimeUtility::mday_name_[31] = { "1st", "2nd", "3rd", "4th", "5th", "6th", "7th", "8th", "9th", "10th", "11th", "12th", "13th", "14th", "15th", "16th", "17th", "18th", "19th", "20th", @@ -45,28 +45,28 @@ const char *ObTimeUtility::mday_name_[31] = "31st" }; -const char *ObTimeUtility::weekday_name_[7] = +const char *ObTimeUtility::weekday_name_[7] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }; -const char *ObTimeUtility::weekday_abbr_name_[7] = +const char *ObTimeUtility::weekday_abbr_name_[7] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; -const char *ObTimeUtility::month_abbr_name_[12] = +const char *ObTimeUtility::month_abbr_name_[12] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; -const char *ObTimeUtility::month_name_[12] = +const char *ObTimeUtility::month_name_[12] = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; -const char *ObTimeUtility::STD_TS_FORMAT_WITH_USEC = "%Y-%m-%d %H:%i:%s.%f"; +const char *ObTimeUtility::STD_TS_FORMAT_WITH_USEC = "%Y-%m-%d %H:%i:%s.%f"; const char *ObTimeUtility::STD_TS_FORMAT_WITHOUT_USEC = "%Y-%m-%d %H:%i:%s"; diff --git a/src/lib/timezone/ob_time_convert.cpp b/src/lib/timezone/ob_time_convert.cpp index 6403bcfc5b12637cc5e8d47f2590b5457d27c234..261462f1e053ddcf3054c2d6714bcfaf7550f87b 100644 --- a/src/lib/timezone/ob_time_convert.cpp +++ b/src/lib/timezone/ob_time_convert.cpp @@ -33,12 +33,12 @@ ObTimeConverter::~ObTimeConverter() { } -const int32_t DT_PART_BASE[DATETIME_PART_CNT] = { 100, 12, -1, 24, 60, 60, 1000000}; -const int32_t DT_PART_MIN[DATETIME_PART_CNT] = { 0, 1, 1, 0, 0, 0, 0}; -const int32_t DT_PART_MAX[DATETIME_PART_CNT] = {9999, 12, 31, 23, 59, 59, 1000000}; +const int32_t DT_PART_BASE[DATETIME_PART_CNT] = { 100, 12, -1, 24, 60, 60, 1000000}; +const int32_t DT_PART_MIN[DATETIME_PART_CNT] = { 0, 1, 1, 0, 0, 0, 0}; +const int32_t DT_PART_MAX[DATETIME_PART_CNT] = {9999, 12, 31, 23, 59, 59, 1000000}; // 1000000 for usecond, because sometimes we round .9999999 to .1000000 -static const int8_t DAYS_PER_MON[2][12 + 1] = { +static const int8_t DAYS_PER_MON[2][12 + 1] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; @@ -922,7 +922,7 @@ int ObTimeConverter::int_to_ob_time_without_date(int64_t int64, ObTime &ob_time) //int ObTimeConverter::uint_to_ob_time_with_date(int64_t int64, ObTime &ob_time) //int ObTimeConverter::uint_to_ob_time_without_date(int64_t int64, ObTime &ob_time) -static const int32_t DATETIME_PART_LENS_MAX[] = { +static const int32_t DATETIME_PART_LENS_MAX[] = { INT32_MAX, INT32_MAX, INT32_MAX, INT32_MAX, INT32_MAX, INT32_MAX, INT32_MAX, 7}; static const int32_t DATETIME_PART_LENS_YEAR4[] = {4, 2, 2, 2, 2, 2, 7}; static const int32_t DATETIME_PART_LENS_YEAR2[] = {2, 2, 2, 2, 2, 2, 7}; diff --git a/src/lib/utility/serialization.h b/src/lib/utility/serialization.h index 958447fc5a55164b8933457a3e6e0581b02ade93..61800439f279d8471c5e889e309301114b258de5 100644 --- a/src/lib/utility/serialization.h +++ b/src/lib/utility/serialization.h @@ -26,69 +26,69 @@ namespace common { namespace serialization { -const uint64_t OB_MAX_V1B = (__UINT64_C(1) << 7) - 1; -const uint64_t OB_MAX_V2B = (__UINT64_C(1) << 14) - 1; -const uint64_t OB_MAX_V3B = (__UINT64_C(1) << 21) - 1; -const uint64_t OB_MAX_V4B = (__UINT64_C(1) << 28) - 1; -const uint64_t OB_MAX_V5B = (__UINT64_C(1) << 35) - 1; -const uint64_t OB_MAX_V6B = (__UINT64_C(1) << 42) - 1; -const uint64_t OB_MAX_V7B = (__UINT64_C(1) << 49) - 1; -const uint64_t OB_MAX_V8B = (__UINT64_C(1) << 56) - 1; -const uint64_t OB_MAX_V9B = (__UINT64_C(1) << 63) - 1; - - -const uint64_t OB_MAX_1B = (__UINT64_C(1) << 8) - 1; -const uint64_t OB_MAX_2B = (__UINT64_C(1) << 16) - 1; -const uint64_t OB_MAX_3B = (__UINT64_C(1) << 24) - 1; -const uint64_t OB_MAX_4B = (__UINT64_C(1) << 32) - 1; -const uint64_t OB_MAX_5B = (__UINT64_C(1) << 40) - 1; -const uint64_t OB_MAX_6B = (__UINT64_C(1) << 48) - 1; -const uint64_t OB_MAX_7B = (__UINT64_C(1) << 56) - 1; -const uint64_t OB_MAX_8B = UINT64_MAX; - - - -const uint64_t OB_MAX_INT_1B = (__UINT64_C(23)); -const uint64_t OB_MAX_INT_2B = (__UINT64_C(1) << 8) - 1; -const uint64_t OB_MAX_INT_3B = (__UINT64_C(1) << 16) - 1; -const uint64_t OB_MAX_INT_4B = (__UINT64_C(1) << 24) - 1; -const uint64_t OB_MAX_INT_5B = (__UINT64_C(1) << 32) - 1; -const uint64_t OB_MAX_INT_7B = (__UINT64_C(1) << 48) - 1; -const uint64_t OB_MAX_INT_9B = UINT64_MAX; - - -const int64_t OB_MAX_1B_STR_LEN = (__INT64_C(55)); -const int64_t OB_MAX_2B_STR_LEN = (__INT64_C(1) << 8) - 1; -const int64_t OB_MAX_3B_STR_LEN = (__INT64_C(1) << 16) - 1; -const int64_t OB_MAX_4B_STR_LEN = (__INT64_C(1) << 24) - 1; -const int64_t OB_MAX_5B_STR_LEN = (__INT64_C(1) << 32) - 1; - -const int8_t OB_INT_TYPE_BIT_POS = 7; -const int8_t OB_INT_OPERATION_BIT_POS = 6; -const int8_t OB_INT_SIGN_BIT_POS = 5; -const int8_t OB_DATETIME_OPERATION_BIT = 3; -const int8_t OB_DATETIME_SIGN_BIT = 2; -const int8_t OB_FLOAT_OPERATION_BIT_POS = 0; +const uint64_t OB_MAX_V1B = (__UINT64_C(1) << 7) - 1; +const uint64_t OB_MAX_V2B = (__UINT64_C(1) << 14) - 1; +const uint64_t OB_MAX_V3B = (__UINT64_C(1) << 21) - 1; +const uint64_t OB_MAX_V4B = (__UINT64_C(1) << 28) - 1; +const uint64_t OB_MAX_V5B = (__UINT64_C(1) << 35) - 1; +const uint64_t OB_MAX_V6B = (__UINT64_C(1) << 42) - 1; +const uint64_t OB_MAX_V7B = (__UINT64_C(1) << 49) - 1; +const uint64_t OB_MAX_V8B = (__UINT64_C(1) << 56) - 1; +const uint64_t OB_MAX_V9B = (__UINT64_C(1) << 63) - 1; + + +const uint64_t OB_MAX_1B = (__UINT64_C(1) << 8) - 1; +const uint64_t OB_MAX_2B = (__UINT64_C(1) << 16) - 1; +const uint64_t OB_MAX_3B = (__UINT64_C(1) << 24) - 1; +const uint64_t OB_MAX_4B = (__UINT64_C(1) << 32) - 1; +const uint64_t OB_MAX_5B = (__UINT64_C(1) << 40) - 1; +const uint64_t OB_MAX_6B = (__UINT64_C(1) << 48) - 1; +const uint64_t OB_MAX_7B = (__UINT64_C(1) << 56) - 1; +const uint64_t OB_MAX_8B = UINT64_MAX; + + + +const uint64_t OB_MAX_INT_1B = (__UINT64_C(23)); +const uint64_t OB_MAX_INT_2B = (__UINT64_C(1) << 8) - 1; +const uint64_t OB_MAX_INT_3B = (__UINT64_C(1) << 16) - 1; +const uint64_t OB_MAX_INT_4B = (__UINT64_C(1) << 24) - 1; +const uint64_t OB_MAX_INT_5B = (__UINT64_C(1) << 32) - 1; +const uint64_t OB_MAX_INT_7B = (__UINT64_C(1) << 48) - 1; +const uint64_t OB_MAX_INT_9B = UINT64_MAX; + + +const int64_t OB_MAX_1B_STR_LEN = (__INT64_C(55)); +const int64_t OB_MAX_2B_STR_LEN = (__INT64_C(1) << 8) - 1; +const int64_t OB_MAX_3B_STR_LEN = (__INT64_C(1) << 16) - 1; +const int64_t OB_MAX_4B_STR_LEN = (__INT64_C(1) << 24) - 1; +const int64_t OB_MAX_5B_STR_LEN = (__INT64_C(1) << 32) - 1; + +const int8_t OB_INT_TYPE_BIT_POS = 7; +const int8_t OB_INT_OPERATION_BIT_POS = 6; +const int8_t OB_INT_SIGN_BIT_POS = 5; +const int8_t OB_DATETIME_OPERATION_BIT = 3; +const int8_t OB_DATETIME_SIGN_BIT = 2; +const int8_t OB_FLOAT_OPERATION_BIT_POS = 0; const int8_t OB_DECIMAL_OPERATION_BIT_POS = 7; -const int8_t OB_INT_VALUE_MASK = 0x1f; -const int8_t OB_VARCHAR_LEN_MASK = 0x3f; -const int8_t OB_DATETIME_LEN_MASK = 0x3; - - -const int8_t OB_VARCHAR_TYPE = static_cast((0x1 << 7)); -const int8_t OB_SEQ_TYPE = static_cast(0xc0); -const int8_t OB_DATETIME_TYPE = static_cast(0xd0); -const int8_t OB_PRECISE_DATETIME_TYPE = static_cast(0xe0); -const int8_t OB_MODIFYTIME_TYPE = static_cast(0xf0); -const int8_t OB_CREATETIME_TYPE = static_cast(0xf4); -const int8_t OB_FLOAT_TYPE = static_cast(0xf8); -const int8_t OB_DOUBLE_TYPE = static_cast(0xfa); -const int8_t OB_NULL_TYPE = static_cast(0xfc); -const int8_t OB_BOOL_TYPE = static_cast(0xfd); -const int8_t OB_EXTEND_TYPE = static_cast(0xfe); -const int8_t OB_DECIMAL_TYPE = static_cast(0xff); -const int8_t OB_NUMBER_TYPE = OB_DECIMAL_TYPE; // 2014number +const int8_t OB_INT_VALUE_MASK = 0x1f; +const int8_t OB_VARCHAR_LEN_MASK = 0x3f; +const int8_t OB_DATETIME_LEN_MASK = 0x3; + + +const int8_t OB_VARCHAR_TYPE = static_cast((0x1 << 7)); +const int8_t OB_SEQ_TYPE = static_cast(0xc0); +const int8_t OB_DATETIME_TYPE = static_cast(0xd0); +const int8_t OB_PRECISE_DATETIME_TYPE = static_cast(0xe0); +const int8_t OB_MODIFYTIME_TYPE = static_cast(0xf0); +const int8_t OB_CREATETIME_TYPE = static_cast(0xf4); +const int8_t OB_FLOAT_TYPE = static_cast(0xf8); +const int8_t OB_DOUBLE_TYPE = static_cast(0xfa); +const int8_t OB_NULL_TYPE = static_cast(0xfc); +const int8_t OB_BOOL_TYPE = static_cast(0xfd); +const int8_t OB_EXTEND_TYPE = static_cast(0xfe); +const int8_t OB_DECIMAL_TYPE = static_cast(0xff); +const int8_t OB_NUMBER_TYPE = OB_DECIMAL_TYPE; // 2014number inline void set_bit(int8_t &v, int8_t pos) { v |= static_cast(1 << pos); diff --git a/src/obproxy/cmd/ob_show_config_handler.cpp b/src/obproxy/cmd/ob_show_config_handler.cpp index d7e711fae92768484c42e72cb5325c8a2ebbecb2..1986632866d2807edf17c84d8de44923a81b97b5 100644 --- a/src/obproxy/cmd/ob_show_config_handler.cpp +++ b/src/obproxy/cmd/ob_show_config_handler.cpp @@ -30,14 +30,14 @@ namespace obproxy { namespace obutils { -const ObString JSON_CONFIG_VERSION = ObString::make_string("json_config_version"); -const ObString JSON_CONFIG_BIN_URL = ObString::make_string("json_config_bin_url"); -const ObString JSON_CONFIG_DB = ObString::make_string("json_config_meta_table_db"); -const ObString JSON_CONFIG_USER = ObString::make_string("json_config_meta_table_user"); -const ObString JSON_CONFIG_PASSWORD = ObString::make_string("json_config_meta_table_password"); +const ObString JSON_CONFIG_VERSION = ObString::make_string("json_config_version"); +const ObString JSON_CONFIG_BIN_URL = ObString::make_string("json_config_bin_url"); +const ObString JSON_CONFIG_DB = ObString::make_string("json_config_meta_table_db"); +const ObString JSON_CONFIG_USER = ObString::make_string("json_config_meta_table_user"); +const ObString JSON_CONFIG_PASSWORD = ObString::make_string("json_config_meta_table_password"); const ObString JSON_CONFIG_REAL_CLUSTER = ObString::make_string("json_config_real_meta_cluster"); -const ObString JSON_CONFIG_CLUSTER = ObString::make_string("json_config_cluster_count"); -const ObString JSON_CONFIG_MODIFIED = ObString::make_string("json_config_modified_time"); +const ObString JSON_CONFIG_CLUSTER = ObString::make_string("json_config_cluster_count"); +const ObString JSON_CONFIG_MODIFIED = ObString::make_string("json_config_modified_time"); //ConfigColumnID enum diff --git a/src/obproxy/cmd/ob_show_session_handler.cpp b/src/obproxy/cmd/ob_show_session_handler.cpp index d57d93506484f3b9668ea03cd5e4d89ef38bad62..15e0eb4fffdd78b13cda52db6586437a822d8ff1 100644 --- a/src/obproxy/cmd/ob_show_session_handler.cpp +++ b/src/obproxy/cmd/ob_show_session_handler.cpp @@ -88,7 +88,7 @@ enum OB_SSC_MAX_STAT_COLUMN_ID, }; -const ObProxyColumnSchema LIST_COLUMN_ARRAY[OB_SLC_MAX_SLIST_COLUMN_ID] = { +const ObProxyColumnSchema LIST_COLUMN_ARRAY[OB_SLC_MAX_SLIST_COLUMN_ID] = { ObProxyColumnSchema::make_schema(OB_SLC_ID, "Id", OB_MYSQL_TYPE_LONGLONG), ObProxyColumnSchema::make_schema(OB_SLC_TENANT, "Tenant", OB_MYSQL_TYPE_VARCHAR), ObProxyColumnSchema::make_schema(OB_SLC_USER, "User", OB_MYSQL_TYPE_VARCHAR), @@ -116,13 +116,13 @@ const ObProxyColumnSchema INTERNAL_LIST_COLUMN_ARRAY[OB_SILC_MAX_SLIST_COLUMN_ID ObProxyColumnSchema::make_schema(OB_SILC_PID, "pid", OB_MYSQL_TYPE_LONG), }; -const ObProxyColumnSchema ATTRIBUTE_COLUMN_ARRAY[OB_SLC_MAX_SLIST_COLUMN_ID] = { +const ObProxyColumnSchema ATTRIBUTE_COLUMN_ARRAY[OB_SLC_MAX_SLIST_COLUMN_ID] = { ObProxyColumnSchema::make_schema(OB_SAC_NAME, "attribute_name", OB_MYSQL_TYPE_VARCHAR), ObProxyColumnSchema::make_schema(OB_SAC_VALUE, "value", OB_MYSQL_TYPE_VARCHAR), ObProxyColumnSchema::make_schema(OB_SAC_INFO, "info", OB_MYSQL_TYPE_VARCHAR), }; -const ObProxyColumnSchema VARIABLES_COLUMN_ARRAY[OB_SVC_MAX_VARIABLES_COLUMN_ID] = { +const ObProxyColumnSchema VARIABLES_COLUMN_ARRAY[OB_SVC_MAX_VARIABLES_COLUMN_ID] = { ObProxyColumnSchema::make_schema(OB_SVC_NAME, "variable_name", OB_MYSQL_TYPE_VARCHAR), ObProxyColumnSchema::make_schema(OB_SVC_VALUE, "value", OB_MYSQL_TYPE_VARCHAR), ObProxyColumnSchema::make_schema(OB_SVC_INFO, "info", OB_MYSQL_TYPE_VARCHAR), @@ -130,7 +130,7 @@ const ObProxyColumnSchema VARIABLES_COLUMN_ARRAY[OB_SVC_MAX_VARIABLES_COLUMN_ID] ObProxyColumnSchema::make_schema(OB_SVC_FLAG, "sys_variable_flag", OB_MYSQL_TYPE_VARCHAR), }; -const ObProxyColumnSchema STAT_COLUMN_ARRAY[OB_SSC_MAX_STAT_COLUMN_ID] = { +const ObProxyColumnSchema STAT_COLUMN_ARRAY[OB_SSC_MAX_STAT_COLUMN_ID] = { ObProxyColumnSchema::make_schema(OB_SSC_NAME, "stat_name", OB_MYSQL_TYPE_VARCHAR), ObProxyColumnSchema::make_schema(OB_SSC_VALUE, "value", OB_MYSQL_TYPE_LONGLONG), }; diff --git a/src/obproxy/dbconfig/ob_proxy_db_config_info.cpp b/src/obproxy/dbconfig/ob_proxy_db_config_info.cpp index dc0efa28e00ce6ca40cfe1cfbfcdfb5dbdcd9978..5e8d93ba34ee60348c4f2dddba66b0b39d4eb959 100644 --- a/src/obproxy/dbconfig/ob_proxy_db_config_info.cpp +++ b/src/obproxy/dbconfig/ob_proxy_db_config_info.cpp @@ -42,122 +42,122 @@ namespace obproxy namespace dbconfig { -static const ObString LOCAL_DIR = ObString::make_string("."); -static const ObString PARENT_DIR = ObString::make_string(".."); +static const ObString LOCAL_DIR = ObString::make_string("."); +static const ObString PARENT_DIR = ObString::make_string(".."); // ObDbConfigChild -static const char *CONFIG_VERSION = "version"; -static const char *CONFIG_VALUES = "variables"; +static const char *CONFIG_VERSION = "version"; +static const char *CONFIG_VALUES = "variables"; // LogicTenantInfo -static const char *TENANT_NAME = "tenant_name"; -static const char *TENANT_DATABASES = "databases"; +static const char *TENANT_NAME = "tenant_name"; +static const char *TENANT_DATABASES = "databases"; // CR Reference -static const char *REF_KIND = "kind"; -static const char *REF_NAMESPACE = "namespace"; -static const char *REF_PARENT = "parent"; -static const char *REF_VALUE = "reference"; -static const char *TESTLOAD_REF_VALUE = "test_load_reference"; +static const char *REF_KIND = "kind"; +static const char *REF_NAMESPACE = "namespace"; +static const char *REF_PARENT = "parent"; +static const char *REF_VALUE = "reference"; +static const char *TESTLOAD_REF_VALUE = "test_load_reference"; // DatabaseVariables -static const ObString DATABASE_VARS = ObString::make_string(CONFIG_VALUES); -static const ObString REMOTE_ACCESS = ObString::make_string("remoteAccess"); -static const ObString SEQUENCE_MIN_VALUE = ObString::make_string("sequenceInitMinValue"); -static const ObString SEQUENCE_MAX_VALUE = ObString::make_string("sequenceInitMaxValue"); -static const ObString SEQUENCE_STEP = ObString::make_string("sequenceInitStep"); +static const ObString DATABASE_VARS = ObString::make_string(CONFIG_VALUES); +static const ObString REMOTE_ACCESS = ObString::make_string("remoteAccess"); +static const ObString SEQUENCE_MIN_VALUE = ObString::make_string("sequenceInitMinValue"); +static const ObString SEQUENCE_MAX_VALUE = ObString::make_string("sequenceInitMaxValue"); +static const ObString SEQUENCE_STEP = ObString::make_string("sequenceInitStep"); static const ObString SEQUENCE_RETRY_COUNT = ObString::make_string("sequenceRetryCount"); -static const ObString SEQUENCE_TABLE = ObString::make_string("sequenceTable"); -static const ObString SEQUENCE_ENABLE = ObString::make_string("sequenceEnable"); -static const ObString SEQUENCE_TNT_ID_COL = ObString::make_string("sequenceTntId"); -static const ObString TESTLOAD_TABLE_MAP = ObString::make_string("testLoadTableMap");//testLoadTableMap +static const ObString SEQUENCE_TABLE = ObString::make_string("sequenceTable"); +static const ObString SEQUENCE_ENABLE = ObString::make_string("sequenceEnable"); +static const ObString SEQUENCE_TNT_ID_COL = ObString::make_string("sequenceTntId"); +static const ObString TESTLOAD_TABLE_MAP = ObString::make_string("testLoadTableMap");//testLoadTableMap // LogicDbInfo -static const char *LOGIC_DB_NAME = "database_name"; -static const char *LOGIC_DB_CLUSTER = "cluster_name"; -static const char *LOGIC_DB_MODE = "database_mode"; -static const char *LOGIC_DB_TYPE = "database_type"; -static const char *TESTLOAD_PREFIX = "test_load_prefix"; +static const char *LOGIC_DB_NAME = "database_name"; +static const char *LOGIC_DB_CLUSTER = "cluster_name"; +static const char *LOGIC_DB_MODE = "database_mode"; +static const char *LOGIC_DB_TYPE = "database_type"; +static const char *TESTLOAD_PREFIX = "test_load_prefix"; // DatabaseAuth -static const char *AUTH_HAS_PRIV = "Y"; -static const char *AUTH_NO_PRIV = "N"; - -static const char *AUTH_USERS = "users"; -static const char *AUTH_ALTER_PRIV = "alter_priv"; -static const char *AUTH_CREATE_PRIV = "create_priv"; -static const char *AUTH_DELETE_PRIV = "delete_priv"; -static const char *AUTH_DROP_PRIV = "drop_priv"; -static const char *AUTH_INSERT_PRIV = "insert_priv"; -static const char *AUTH_UPDATE_PRIV = "update_priv"; -static const char *AUTH_SELECT_PRIV = "select_priv"; -static const char *AUTH_INDEX_PRIV = "index_priv"; -static const char *AUTH_HOST = "host"; +static const char *AUTH_HAS_PRIV = "Y"; +static const char *AUTH_NO_PRIV = "N"; + +static const char *AUTH_USERS = "users"; +static const char *AUTH_ALTER_PRIV = "alter_priv"; +static const char *AUTH_CREATE_PRIV = "create_priv"; +static const char *AUTH_DELETE_PRIV = "delete_priv"; +static const char *AUTH_DROP_PRIV = "drop_priv"; +static const char *AUTH_INSERT_PRIV = "insert_priv"; +static const char *AUTH_UPDATE_PRIV = "update_priv"; +static const char *AUTH_SELECT_PRIV = "select_priv"; +static const char *AUTH_INDEX_PRIV = "index_priv"; +static const char *AUTH_HOST = "host"; // ObDataBaseProp -static const char *DB_PROP_NAME = "properties_name"; -static const char *DB_PROP_RULE = "properties_rule"; -static const char *DB_PROP_TYPE = "propsType"; -static const char *TESTLOAD_DBKEY_TYPE = "testLoadDbKeyType"; -static const char *MIRROR_DBKEY_TYPE = "mirrorDbKeyType"; +static const char *DB_PROP_NAME = "properties_name"; +static const char *DB_PROP_RULE = "properties_rule"; +static const char *DB_PROP_TYPE = "propsType"; +static const char *TESTLOAD_DBKEY_TYPE = "testLoadDbKeyType"; +static const char *MIRROR_DBKEY_TYPE = "mirrorDbKeyType"; -static const char *DB_PROP_TESTLOAD = "testload"; -static const char *DB_PROP_MIRROR = "mirror"; -static const char *DB_PROP_SELFADJUST = "selfadjust"; -static const char *DB_PROP_WHITELIST = "whitelist"; +static const char *DB_PROP_TESTLOAD = "testload"; +static const char *DB_PROP_MIRROR = "mirror"; +static const char *DB_PROP_SELFADJUST = "selfadjust"; +static const char *DB_PROP_WHITELIST = "whitelist"; // ObShardTpo -static const char *SHARDS_TPO_NAME = "topology_name"; -static const char *SHARDS_TPO_ARCH = "architecture"; -static const char *SHARDS_TPO_GROUPS = "specific_layer"; -static const char *SHARDS_TPO_SPEC_MODE = "specific_mode"; -static const char *SHARDS_TPO_SPEC = "specification"; -static const char *STRICT_SPEC_MODE = "strict"; -static const char *NORMAL_SPEC_MODE = "normal"; +static const char *SHARDS_TPO_NAME = "topology_name"; +static const char *SHARDS_TPO_ARCH = "architecture"; +static const char *SHARDS_TPO_GROUPS = "specific_layer"; +static const char *SHARDS_TPO_SPEC_MODE = "specific_mode"; +static const char *SHARDS_TPO_SPEC = "specification"; +static const char *STRICT_SPEC_MODE = "strict"; +static const char *NORMAL_SPEC_MODE = "normal"; // ObShardRule -static const char *RULE_TB_NAME = "mark"; -static const char *ROUTER_SEQUENCE = "sequence"; -static const char *RULE_ROUTER = "router"; -static const char *RULE_RULES = "rules"; -static const char *RULE_TB_NAME_PATTERN = "tbNamePattern"; -static const char *RULE_DB_NAME_PATTERN = "dbNamePattern"; -static const char *RULE_TB_SUFFIX_PADDING = "tbSuffixPadding"; -static const char *RULE_TB_RULES = "tbRules"; -static const char *RULE_DB_RULES = "dbRules"; -static const char *RULE_ES_RULES = "elasticRules"; +static const char *RULE_TB_NAME = "mark"; +static const char *ROUTER_SEQUENCE = "sequence"; +static const char *RULE_ROUTER = "router"; +static const char *RULE_RULES = "rules"; +static const char *RULE_TB_NAME_PATTERN = "tbNamePattern"; +static const char *RULE_DB_NAME_PATTERN = "dbNamePattern"; +static const char *RULE_TB_SUFFIX_PADDING = "tbSuffixPadding"; +static const char *RULE_TB_RULES = "tbRules"; +static const char *RULE_DB_RULES = "dbRules"; +static const char *RULE_ES_RULES = "elasticRules"; // ObShardRouter -static const char *ROUTER_RULES = "routers"; +static const char *ROUTER_RULES = "routers"; // ObShardConnector -static const char *SHARDS_NAME = "shards_name"; -static const char *SHARDS_TYPE = "shards_type"; -static const char *SHARDS_AUTH = "shards_authority"; -static const char *SHARDS_ENC_TYPE = "encType"; -static const char *SHARDS_URL = "shards_connector"; -static const char *SHARDS_USERNAME = "user"; -static const char *SHARDS_PASSWORD = "password"; +static const char *SHARDS_NAME = "shards_name"; +static const char *SHARDS_TYPE = "shards_type"; +static const char *SHARDS_AUTH = "shards_authority"; +static const char *SHARDS_ENC_TYPE = "encType"; +static const char *SHARDS_URL = "shards_connector"; +static const char *SHARDS_USERNAME = "user"; +static const char *SHARDS_PASSWORD = "password"; // ObShardProp -static const char *SHARDS_CONN_PROP = "connectionProperties"; -static const char *SHARDS_CONN_TIMEOUT = "connectTimeout"; -static const char *SHARDS_SOCK_TIMEOUT = "socketTimeout"; -static const char *SHARDS_IDLE_TIMEOUT = "idleTimeoutMinutes"; -static const char *SHARDS_NEED_PREFILL = "prefill"; -static const char *SHARDS_BLOCKING_TIMEOUT = "blockingTimeoutMillis"; - -static const char *SHARDS_READ_CONSISTENCY = "obReadConsistency"; -static const char* SHARDS_ZONE_PROPERTIES = "zoneProperties"; -static const char* SHARDS_ZONE_MIN_CONN_PROP = "minConn"; -static const char* SHARDS_ZONE_MAX_CONN_PROP = "maxConn"; +static const char *SHARDS_CONN_PROP = "connectionProperties"; +static const char *SHARDS_CONN_TIMEOUT = "connectTimeout"; +static const char *SHARDS_SOCK_TIMEOUT = "socketTimeout"; +static const char *SHARDS_IDLE_TIMEOUT = "idleTimeoutMinutes"; +static const char *SHARDS_NEED_PREFILL = "prefill"; +static const char *SHARDS_BLOCKING_TIMEOUT = "blockingTimeoutMillis"; + +static const char *SHARDS_READ_CONSISTENCY = "obReadConsistency"; +static const char* SHARDS_ZONE_PROPERTIES = "zoneProperties"; +static const char* SHARDS_ZONE_MIN_CONN_PROP = "minConn"; +static const char* SHARDS_ZONE_MAX_CONN_PROP = "maxConn"; static const ObString SHARDS_ZONE_CURRENT_CONN_PROP = ObString::make_string("current"); -static const ObString SHARDS_ZONE_OTHERS_CONN_PROP = ObString::make_string("others"); +static const ObString SHARDS_ZONE_OTHERS_CONN_PROP = ObString::make_string("others"); // OBShardDist -static const char *SHARD_DISTS = "distributions"; -static const char *SHARD_DISTS_DIST = "distribution"; -static const char *SHARD_DISTS_MARK = "mark"; +static const char *SHARD_DISTS = "distributions"; +static const char *SHARD_DISTS_DIST = "distribution"; +static const char *SHARD_DISTS_MARK = "mark"; ObDbConfigCache &get_global_dbconfig_cache() diff --git a/src/obproxy/dbconfig/ob_proxy_pb_utils.cpp b/src/obproxy/dbconfig/ob_proxy_pb_utils.cpp index 88e4f328615937809d6d9b90f1bf89c8914ca57c..d4e6591c8bfd90cab10a78c5a22ffa69191f8291 100644 --- a/src/obproxy/dbconfig/ob_proxy_pb_utils.cpp +++ b/src/obproxy/dbconfig/ob_proxy_pb_utils.cpp @@ -70,14 +70,14 @@ static const std::regex ELASTIC_PATTERN2("^toint\\(substr\\(\\#(\\w+)\\#,\\s*(\\ const char *OBPROXY_CONFIG_LOG_TIMESTAMP_FORMAT = "%Y-%m-%d %H:%i:%s.%f"; //static const char *CONFIG_ -static const char *CONFIG_TIMESTAMP = "timestamp"; -static const char *CONFIG_INSTANCE_IP = "instance_ip"; -static const char *CONFIG_INSTANCE_ZONE = "instance_zone"; -static const char *CONFIG_TENANT = "tenant"; -static const char *CONFIG_LOGICAL_DB = "logical_db"; -static const char *CONFIG_TYPE = "type"; -static const char *CONFIG_NAME = "name"; -static const char *CONFIG_VALUE = "value"; +static const char *CONFIG_TIMESTAMP = "timestamp"; +static const char *CONFIG_INSTANCE_IP = "instance_ip"; +static const char *CONFIG_INSTANCE_ZONE = "instance_zone"; +static const char *CONFIG_TENANT = "tenant"; +static const char *CONFIG_LOGICAL_DB = "logical_db"; +static const char *CONFIG_TYPE = "type"; +static const char *CONFIG_NAME = "name"; +static const char *CONFIG_VALUE = "value"; int ObProxyPbUtils::parse_database_prop_rule(const std::string &prop_rule, ObDataBaseProp &child_info) { diff --git a/src/obproxy/engine/ob_proxy_operator_result.h b/src/obproxy/engine/ob_proxy_operator_result.h index a04a22790f4dbd70d103a0f8457924df5cd630a0..1da4cf7c01f560c6c1a604dfa02c21b32d831a56 100644 --- a/src/obproxy/engine/ob_proxy_operator_result.h +++ b/src/obproxy/engine/ob_proxy_operator_result.h @@ -50,7 +50,7 @@ public: } PacketErrorInfo; const int16_t OP_DEFAULT_ERROR_NO = 8001; -const char* OP_DEFAULT_ERROR_MSG = "Inner error occured in Operator and not have any other info"; +const char* OP_DEFAULT_ERROR_MSG = "Inner error occured in Operator and not have any other info"; int change_sql_field(const ObMysqlField *src_field, obmysql::ObMySQLField *&dst_field, common::ObIAllocator &allocator) diff --git a/src/obproxy/iocore/eventsystem/ob_event.h b/src/obproxy/iocore/eventsystem/ob_event.h index 6da0a8c4b492babcc57166b3c1777a94952ad952..b08d0ddcbd15b8166eebf7f9d5fa0040910d3594 100644 --- a/src/obproxy/iocore/eventsystem/ob_event.h +++ b/src/obproxy/iocore/eventsystem/ob_event.h @@ -86,7 +86,7 @@ namespace event #define API_EVENT_EVENTS_START 60000 typedef int32_t ObEventThreadType; -const int32_t ET_CALL = 0; +const int32_t ET_CALL = 0; const int32_t MAX_EVENT_TYPES = 6; // conservative, these are dynamically allocated class ObEThread; diff --git a/src/obproxy/iocore/eventsystem/ob_event_processor.h b/src/obproxy/iocore/eventsystem/ob_event_processor.h index beeb94fd1c9b28e9c45b989cec86ba18c1cd3173..81d825a8395da57f2cf190bc750ca3fd7cc43883 100644 --- a/src/obproxy/iocore/eventsystem/ob_event_processor.h +++ b/src/obproxy/iocore/eventsystem/ob_event_processor.h @@ -50,9 +50,9 @@ const int64_t MAX_THREADS_IN_EACH_TYPE = 256; #endif #ifdef OB_MAX_NUMBER_EVENT_THREADS -const int64_t MAX_EVENT_THREADS = OB_MAX_NUMBER_EVENT_THREADS; +const int64_t MAX_EVENT_THREADS = OB_MAX_NUMBER_EVENT_THREADS; #else -const int64_t MAX_EVENT_THREADS = 512; +const int64_t MAX_EVENT_THREADS = 512; #endif #ifndef offsetof diff --git a/src/obproxy/iocore/eventsystem/ob_thread.h b/src/obproxy/iocore/eventsystem/ob_thread.h index cc664dce4f0f1acba89705a83de0dfa9f2eca18c..df2f67db44b30cdf89b65f2a139b4a64b3de3d20 100644 --- a/src/obproxy/iocore/eventsystem/ob_thread.h +++ b/src/obproxy/iocore/eventsystem/ob_thread.h @@ -48,7 +48,7 @@ typedef void *(*ThreadFunction)(void *arg); extern ObProxyMutex *global_mutex; static const int MAX_THREAD_NAME_LENGTH = 32; -static const int DEFAULT_STACKSIZE = 1048576; // 1MB +static const int DEFAULT_STACKSIZE = 1048576; // 1MB /** * Base class for the threads in the ObEvent System. ObThread is the base diff --git a/src/obproxy/iocore/eventsystem/ob_thread_allocator.h b/src/obproxy/iocore/eventsystem/ob_thread_allocator.h index 7b41721d616839a0934a25124f0a905846762cef..1a5f5c0bba2cdc164b92e226313d4c2b6a43679a 100644 --- a/src/obproxy/iocore/eventsystem/ob_thread_allocator.h +++ b/src/obproxy/iocore/eventsystem/ob_thread_allocator.h @@ -22,10 +22,10 @@ namespace obproxy namespace event { -static const int64_t g_thread_freelist_high_watermark = 512; -static const int64_t g_thread_freelist_low_watermark = 32; +static const int64_t g_thread_freelist_high_watermark = 512; +static const int64_t g_thread_freelist_low_watermark = 32; static const int64_t g_thread_freelist_low_watermark_for_8k = 0; -static const int64_t size_8k = 8 * 1024; +static const int64_t size_8k = 8 * 1024; struct ObProxyThreadAllocator { diff --git a/src/obproxy/iocore/net/ob_connection.cpp b/src/obproxy/iocore/net/ob_connection.cpp index 97c7d0c0aa12fe3e9f8f843df79f22da1cd6bffd..2d5f36548c0eadcef6b20fa875a629cab9139764 100644 --- a/src/obproxy/iocore/net/ob_connection.cpp +++ b/src/obproxy/iocore/net/ob_connection.cpp @@ -111,11 +111,11 @@ ObConnection::~ObConnection() * order to tweak options. */ const ObNetVCOptions ObConnection::DEFAULT_OPTIONS; -const int32_t ObConnection::SOCKOPT_ON = 1; -const int32_t ObConnection::SOCKOPT_OFF = 0; +const int32_t ObConnection::SOCKOPT_ON = 1; +const int32_t ObConnection::SOCKOPT_OFF = 0; const int32_t ObConnection::SNDBUF_AND_RCVBUF_PREC = 1024; -const int32_t ObServerConnection::LISTEN_BACKLOG = 1024; +const int32_t ObServerConnection::LISTEN_BACKLOG = 1024; int ObConnection::open(const ObNetVCOptions &opt) { diff --git a/src/obproxy/iocore/net/ob_inet.h b/src/obproxy/iocore/net/ob_inet.h index 27e31b2262c610f67e32020f85897c84f4d1bc04..b3f8da2e598c9ab515bcfa50abb0a46cf9a1edf1 100644 --- a/src/obproxy/iocore/net/ob_inet.h +++ b/src/obproxy/iocore/net/ob_inet.h @@ -56,16 +56,16 @@ static inline bool IN6_IS_ADDR_UNSPECIFIED(const in6_addr *addr) #endif // Buffer size sufficient for IPv6 address and port. -static const int64_t INET6_ADDRPORTSTRLEN = INET6_ADDRSTRLEN + 6; +static const int64_t INET6_ADDRPORTSTRLEN = INET6_ADDRSTRLEN + 6; // Convenience type for address formatting. typedef char ip_text_buffer[INET6_ADDRSTRLEN]; typedef char ip_port_text_buffer[INET6_ADDRPORTSTRLEN]; -static const int64_t MAX_HOST_NAME_LEN = 256; +static const int64_t MAX_HOST_NAME_LEN = 256; static const int64_t MAX_LOCAL_ADDR_LIST_COUNT = 64; // Size in bytes of an IPv6 address. -static const int64_t IP6_SIZE = sizeof(in6_addr); +static const int64_t IP6_SIZE = sizeof(in6_addr); struct ObIpAddr; @@ -511,10 +511,7 @@ inline bool ops_is_ip_private(const sockaddr &ip) bool zret = false; if (ops_is_ip4(ip)) { in_addr_t a = ops_ip4_addr_cast(ip); - zret = ((a & htonl(0xFF000000)) == htonl(0x0A000000)) // 10.0.0.0/8 - || ((a & htonl(0xFFC00000)) == htonl(0x64400000)) // 100.64.0.0/10 - || ((a & htonl(0xFFF00000)) == htonl(0xAC100000)) // 172.16.0.0/12 - || ((a & htonl(0xFFFF0000)) == htonl(0xC0A80000)); // 192.168.0.0/16 + zret = ((a & htonl(0xFFFF0000)) == htonl(0xC0A80000)); // 192.168.0.0/16 } else if (ops_is_ip6(ip)) { in6_addr a = ops_ip6_addr_cast(ip); zret = ((a.s6_addr[0] & 0xFE) == 0xFC); // fc00::/7 @@ -527,26 +524,6 @@ inline bool ops_is_ip_private(const ObIpEndpoint &ip) return ops_is_ip_private(ip.sa_); } -// Check for Link Local. -// @return @true if ip is link local. -inline bool ops_is_ip_linklocal(const sockaddr &ip) -{ - bool zret = false; - if (ops_is_ip4(ip)) { - in_addr_t a = ops_ip4_addr_cast(ip); - zret = ((a & htonl(0xFFFF0000)) == htonl(0xA9FE0000)); // 169.254.0.0/16 - } else if (ops_is_ip6(ip)) { - in6_addr a = ops_ip6_addr_cast(ip); - zret = ((a.s6_addr[0] == 0xFE) && ((a.s6_addr[1] & 0xC0) == 0x80)); // fe80::/10 - } - return zret; -} - -inline bool ops_is_ip_linklocal(const ObIpEndpoint &ip) -{ - return ops_is_ip_linklocal(ip.sa_); -} - // Check for being "any" address. // @return true if ip is the any / unspecified address. inline bool ops_is_ip_any(const sockaddr &ip) diff --git a/src/obproxy/ob_proxy_main.cpp b/src/obproxy/ob_proxy_main.cpp index ef74311ad433cd6bbce17938bdd263a78927b65e..df62eec8adead48711c169bd7b58c8ce54f1719f 100644 --- a/src/obproxy/ob_proxy_main.cpp +++ b/src/obproxy/ob_proxy_main.cpp @@ -146,8 +146,8 @@ void ObProxyMain::print_usage() const MPRINT(" -t,--regression_test TEST_NAME regression test"); MPRINT("example:"); MPRINT(" run without config server:"); - MPRINT(" ./bin/obproxy -p6789 -r'10.125.224.11:26506;10.125.224.22:26577' -n test -o enable_cluster_checkout=false,syslog_level=INFO"); - MPRINT(" OR ./bin/obproxy -p6789 -r'10.125.224.11:26506;10.125.224.22:26577' -c 'ob_test' -n test -o syslog_level=INFO \n"); + MPRINT(" ./bin/obproxy -p6789 -r'ip:port;ip:port' -n test -o enable_cluster_checkout=false,syslog_level=INFO"); + MPRINT(" OR ./bin/obproxy -p6789 -r'ip:port;ip:port' -c 'ob_test' -n test -o syslog_level=INFO \n"); MPRINT(" run with config server:"); MPRINT(" ./bin/obproxy -p6789 -e -n test -o obproxy_config_server_url='your config url',syslog_level=INFO\n"); MPRINT(" Non-first start with local config file:"); @@ -155,7 +155,7 @@ void ObProxyMain::print_usage() const MPRINT(" dump config update sql:"); MPRINT(" ./bin/obproxy -d\n"); MPRINT(" run regression tests:"); - MPRINT(" ./bin/obproxy -p6789 -r10.125.224.11:26506 -ntest -o obproxy_config_server_url='' -t ''"); + MPRINT(" ./bin/obproxy -p6789 -rip:port -ntest -o obproxy_config_server_url='' -t ''"); MPRINT("----------------------------------------------------------------------------------"); } diff --git a/src/obproxy/obutils/ob_async_common_task.cpp b/src/obproxy/obutils/ob_async_common_task.cpp index 8ef61d188bd1c27f9429cc183d37469c48a6db5b..87100c1d08ab4976d60fa886acc25c5b0d46c5fd 100644 --- a/src/obproxy/obutils/ob_async_common_task.cpp +++ b/src/obproxy/obutils/ob_async_common_task.cpp @@ -27,7 +27,7 @@ namespace obproxy { namespace obutils { -static const int EVENT_COMPLETE = CLIENT_TRANSPORT_MYSQL_RESP_EVENT; +static const int EVENT_COMPLETE = CLIENT_TRANSPORT_MYSQL_RESP_EVENT; static const int EVENT_INFORM_OUT = ASYNC_PROCESS_INFORM_OUT_EVENT; int ObAsyncCommonTask::main_handler(int event, void *data) diff --git a/src/obproxy/obutils/ob_mt_hashtable.h b/src/obproxy/obutils/ob_mt_hashtable.h index 6b42a6ae38dfdadc847370f081310325a7b322e2..063645b14326354cfcca9ae1e1295f65cbe428f5 100644 --- a/src/obproxy/obutils/ob_mt_hashtable.h +++ b/src/obproxy/obutils/ob_mt_hashtable.h @@ -26,9 +26,9 @@ namespace obproxy namespace obutils { -static const int64_t MT_HASHTABLE_PARTITION_BITS = 6; -static const int64_t MT_HASHTABLE_PARTITIONS = 1 << MT_HASHTABLE_PARTITION_BITS; -static const uint64_t MT_HASHTABLE_PARTITION_MASK = MT_HASHTABLE_PARTITIONS - 1; +static const int64_t MT_HASHTABLE_PARTITION_BITS = 6; +static const int64_t MT_HASHTABLE_PARTITIONS = 1 << MT_HASHTABLE_PARTITION_BITS; +static const uint64_t MT_HASHTABLE_PARTITION_MASK = MT_HASHTABLE_PARTITIONS - 1; static const int64_t MT_HASHTABLE_MAX_CHAIN_AVG_LEN = 4; template diff --git a/src/obproxy/obutils/ob_proxy_config_processor.cpp b/src/obproxy/obutils/ob_proxy_config_processor.cpp index d6334664a14460fc77ce96dcd625c150259b120d..b1488869a3492276e3df68b807f85e4b1c2a519f 100644 --- a/src/obproxy/obutils/ob_proxy_config_processor.cpp +++ b/src/obproxy/obutils/ob_proxy_config_processor.cpp @@ -40,54 +40,54 @@ namespace obproxy namespace obutils { -const static char *CONFIG_META = "meta"; -const static char *CONFIG_SPEC = "spec"; +const static char *CONFIG_META = "meta"; +const static char *CONFIG_SPEC = "spec"; -const static char *CONFIG_API_VERSION = "api_version"; -const static char *CONFIG_VERSION = "version"; -const static char *CONFIG_APP_NAME = "app_name"; -const static char *CONFIG_TYPE = "config_type"; -const static char *CONFIG_SYNC = "need_sync"; +const static char *CONFIG_API_VERSION = "api_version"; +const static char *CONFIG_VERSION = "version"; +const static char *CONFIG_APP_NAME = "app_name"; +const static char *CONFIG_TYPE = "config_type"; +const static char *CONFIG_SYNC = "need_sync"; // index config -const static char *CONFIG_REFERENCE = "reference"; -const static char *CONFIG_DATAID = "data_id"; +const static char *CONFIG_REFERENCE = "reference"; +const static char *CONFIG_DATAID = "data_id"; // config spec -const static char *CONFIG_VALUE = "value"; -const static char *CONFIG_ATTR = "category"; -const static char *CONFIG_PERSISTENT = "persistent"; +const static char *CONFIG_VALUE = "value"; +const static char *CONFIG_ATTR = "category"; +const static char *CONFIG_PERSISTENT = "persistent"; // limit config -const static char *LIMITERS = "limiters"; -const static char *CLUSTER_NAME = "cluster"; -const static char *TENANT_NAME = "tenant"; -const static char *DATABASE_NAME = "database"; -const static char *USER_NAME = "username"; -const static char *LIMIT_NAME = "limitName"; -const static char *LIMIT_MODE = "mode"; -const static char *LIMIT_RULE = "rule"; -const static char *LIMIT_PRIORITY = "priority"; -const static char *LIMIT_STATUS = "status"; +const static char *LIMITERS = "limiters"; +const static char *CLUSTER_NAME = "cluster"; +const static char *TENANT_NAME = "tenant"; +const static char *DATABASE_NAME = "database"; +const static char *USER_NAME = "username"; +const static char *LIMIT_NAME = "limitName"; +const static char *LIMIT_MODE = "mode"; +const static char *LIMIT_RULE = "rule"; +const static char *LIMIT_PRIORITY = "priority"; +const static char *LIMIT_STATUS = "status"; // limit rule -const static char *LIMIT_SQL_TYPE = "sqlType"; -const static char *LIMIT_KEY_WORDS = "keyWords"; -const static char *LIMIT_TABLE_NAME = "tableName"; -const static char *LIMIT_QPS = "qps"; -const static char *LIMIT_RT = "averageRt"; -const static char *LIMIT_CONDITION = "scene"; +const static char *LIMIT_SQL_TYPE = "sqlType"; +const static char *LIMIT_KEY_WORDS = "keyWords"; +const static char *LIMIT_TABLE_NAME = "tableName"; +const static char *LIMIT_QPS = "qps"; +const static char *LIMIT_RT = "averageRt"; +const static char *LIMIT_CONDITION = "scene"; const static char *LIMIT_CONDITION_USE_LIKE = "Uselike"; const static char *LIMIT_CONDITION_NO_WHERE = "Nowhere"; -const static char *LIMIT_TIME_WINDOW = "timeWindow"; -const static char *LIMIT_CONN = "limitConn"; -const static char *LIMIT_FUSE_TIME = "fuseTime"; +const static char *LIMIT_TIME_WINDOW = "timeWindow"; +const static char *LIMIT_CONN = "limitConn"; +const static char *LIMIT_FUSE_TIME = "fuseTime"; // security -const static char *SECURITY_SOURCE_TYPE = "sourceType"; -const static char *SECURITY_CA = "CA"; -const static char *SECURITY_PUBLIC_KEY = "publicKey"; -const static char *SECURITY_PRIVATE_KEY = "privateKey"; +const static char *SECURITY_SOURCE_TYPE = "sourceType"; +const static char *SECURITY_CA = "CA"; +const static char *SECURITY_PUBLIC_KEY = "publicKey"; +const static char *SECURITY_PRIVATE_KEY = "privateKey"; #define MONITOR_LIMIT_LOG_FORMAT "%s,%s,%s," \ "%s,%.*s:%.*s:%.*s,%s," \ diff --git a/src/obproxy/obutils/ob_proxy_config_utils.cpp b/src/obproxy/obutils/ob_proxy_config_utils.cpp index 994540cc5614c6bec3f3ac897415a2651bbb7515..075a7d8bcf14202b0ad6a27f8cd6c532f243dfa3 100644 --- a/src/obproxy/obutils/ob_proxy_config_utils.cpp +++ b/src/obproxy/obutils/ob_proxy_config_utils.cpp @@ -29,10 +29,10 @@ namespace obproxy { namespace obutils { -static const ObString LOCAL_DIR = ObString::make_string("."); -static const ObString PARENT_DIR = ObString::make_string(".."); +static const ObString LOCAL_DIR = ObString::make_string("."); +static const ObString PARENT_DIR = ObString::make_string(".."); -const char *INSERT_KV_TABLE_VERSION_SQL = +const char *INSERT_KV_TABLE_VERSION_SQL = "INSERT INTO %s " "(name, datatype, value, info) VALUES ('%s', %d, '%ld', '%s') " "ON DUPLICATE KEY UPDATE name = VALUES(name);\n"; @@ -45,7 +45,7 @@ const char *INSERT_KV_TABLE_ALL_PROXY_UPGRADE_SQL = "('%.*s%.*s', %d, '%.*s', '%s'), ('%.*s%.*s', %d, '%.*s', '%s'), ('%.*s%.*s', %d, '%.*s', '%s') " "ON DUPLICATE KEY UPDATE name = VALUES(name);\n"; -const char *INSERT_CONFIG_TABLE_ALL_PROXY_SQL = +const char *INSERT_CONFIG_TABLE_ALL_PROXY_SQL = "INSERT INTO %s " "(app_name, name, value, need_reboot, info) VALUES " "('all_proxy', '%s', '%s', '%s', '%s') " diff --git a/src/obproxy/obutils/ob_proxy_config_utils.h b/src/obproxy/obutils/ob_proxy_config_utils.h index e3149e317a0f1ebb8162899f63663b283c648b09..7ca11616e20345a165f6adfd195c327c6046f20d 100644 --- a/src/obproxy/obutils/ob_proxy_config_utils.h +++ b/src/obproxy/obutils/ob_proxy_config_utils.h @@ -30,11 +30,11 @@ class ObMysqlProxy; namespace obutils { -static const char *const CFG_DUMP_NAME = "./obproxy_config.bin"; -static const char *const CFG_SERVER_INFO_DUMP_NAME = "./obproxy_config_server_info.json"; +static const char *const CFG_DUMP_NAME = "./obproxy_config.bin"; +static const char *const CFG_SERVER_INFO_DUMP_NAME = "./obproxy_config_server_info.json"; static const char *const CFG_SERVER_SHARD_INFO_DUMP_NAME = "./obproxy_shard_config_server_info.json"; -static const char *const CFG_RSLIST_INFO_DUMP_NAME = "./obproxy_rslist_info.json"; -static const char *const CFG_IDC_LIST_INFO_DUMP_NAME = "./obproxy_idc_list_info.json"; +static const char *const CFG_RSLIST_INFO_DUMP_NAME = "./obproxy_rslist_info.json"; +static const char *const CFG_IDC_LIST_INFO_DUMP_NAME = "./obproxy_idc_list_info.json"; class ObProxyConfig; class ObProxyConfigUtils diff --git a/src/obproxy/obutils/ob_proxy_json_config_info.cpp b/src/obproxy/obutils/ob_proxy_json_config_info.cpp index b275e0da7c67fd1c63fb4469835379560c868da7..c160a0ff7da75bd1bed67e1055c0998197015f70 100644 --- a/src/obproxy/obutils/ob_proxy_json_config_info.cpp +++ b/src/obproxy/obutils/ob_proxy_json_config_info.cpp @@ -30,43 +30,43 @@ namespace obproxy namespace obutils { -static const char *JSON_HTTP_MESSAGE = "Message"; -static const char *HTTP_SUCC_MESSAGE = "successful"; -static const char *JSON_HTTP_STATUS = "Success"; -static const char *JSON_HTTP_CODE = "Code"; -static const char *JSON_CONFIG_DATA = "Data"; -static const char *JSON_CONFIG_VERSION = "Version"; -static const char *JSON_CLUSTER_LIST = "ObRootServiceInfoUrlList"; -static const char *JSON_OB_REGION = "ObRegion"; -static const char *JSON_OB_CLUSTER = "ObCluster"; -static const char *JSON_OB_REGION_ID = "ObRegionId"; -static const char *JSON_OB_CLUSTER_ID = "ObClusterId"; -static const char *JSON_OB_CLUSTER_TYPE = "Type"; -static const char *JSON_REAL_META_REGION = "ObRealMetaRegion"; -static const char *JSON_RS_URL = "ObRootServiceInfoUrl"; -static const char *JSON_RS_LIST = "RsList"; -static const char *JSON_ADDRESS = "address"; -static const char *JSON_SQL_PORT = "sql_port"; -static const char *JSON_ROLE = "role"; -static const char *JSON_META_TABLE_INFO = "ObProxyDatabaseInfo"; -static const char *JSON_META_DATABASE = "DataBase"; -static const char *JSON_META_USER = "User"; -static const char *JSON_META_PASSWORD = "Password"; -static const char *JSON_BIN_URL = "ObProxyBinUrl"; -static const char *JSON_IDC_LIST = "IDCList"; -static const char *JSON_REGION = "region"; -static const char *JSON_IDC = "idc"; -static const char *JSON_READONLY_RS_LIST = "ReadonlyRsList"; -static const char *LEADER_ROLE = "LEADER"; -static const char *FOLLOWER_ROLE = "FOLLOWER"; -static const char *PRIMARY_ROLE = "PRIMARY"; -static const char *STANDBY_ROLE = "STANDBY"; -static const char *JSON_ROOT_SERVICE_INFO_URL_TEMPLATE = "ObRootServiceInfoUrlTemplate"; +static const char *JSON_HTTP_MESSAGE = "Message"; +static const char *HTTP_SUCC_MESSAGE = "successful"; +static const char *JSON_HTTP_STATUS = "Success"; +static const char *JSON_HTTP_CODE = "Code"; +static const char *JSON_CONFIG_DATA = "Data"; +static const char *JSON_CONFIG_VERSION = "Version"; +static const char *JSON_CLUSTER_LIST = "ObRootServiceInfoUrlList"; +static const char *JSON_OB_REGION = "ObRegion"; +static const char *JSON_OB_CLUSTER = "ObCluster"; +static const char *JSON_OB_REGION_ID = "ObRegionId"; +static const char *JSON_OB_CLUSTER_ID = "ObClusterId"; +static const char *JSON_OB_CLUSTER_TYPE = "Type"; +static const char *JSON_REAL_META_REGION = "ObRealMetaRegion"; +static const char *JSON_RS_URL = "ObRootServiceInfoUrl"; +static const char *JSON_RS_LIST = "RsList"; +static const char *JSON_ADDRESS = "address"; +static const char *JSON_SQL_PORT = "sql_port"; +static const char *JSON_ROLE = "role"; +static const char *JSON_META_TABLE_INFO = "ObProxyDatabaseInfo"; +static const char *JSON_META_DATABASE = "DataBase"; +static const char *JSON_META_USER = "User"; +static const char *JSON_META_PASSWORD = "Password"; +static const char *JSON_BIN_URL = "ObProxyBinUrl"; +static const char *JSON_IDC_LIST = "IDCList"; +static const char *JSON_REGION = "region"; +static const char *JSON_IDC = "idc"; +static const char *JSON_READONLY_RS_LIST = "ReadonlyRsList"; +static const char *LEADER_ROLE = "LEADER"; +static const char *FOLLOWER_ROLE = "FOLLOWER"; +static const char *PRIMARY_ROLE = "PRIMARY"; +static const char *STANDBY_ROLE = "STANDBY"; +static const char *JSON_ROOT_SERVICE_INFO_URL_TEMPLATE = "ObRootServiceInfoUrlTemplate"; static const char *JSON_ROOT_SERVICE_INFO_URL_TEMPLATE_V2 = "ObRootServiceInfoUrlTemplateV2"; -static const char *JSON_DATA_CLUSTER_LIST = "ObClusterList"; +static const char *JSON_DATA_CLUSTER_LIST = "ObClusterList"; -static const char *REGION_TEMPLATE = "${ObRegion}"; -static const char *CLUSTER_TEMPLATE = "${ObCluster}"; +static const char *REGION_TEMPLATE = "${ObRegion}"; +static const char *CLUSTER_TEMPLATE = "${ObCluster}"; const char *cluster_role_to_str(ObClusterRole role) { diff --git a/src/obproxy/obutils/ob_proxy_sequence_utils.cpp b/src/obproxy/obutils/ob_proxy_sequence_utils.cpp index ca09645c1c14498267d9f335bab40f716b7ef37e..4eb8dd9dae5f9f44adee6cbf6c3a1fb7e953ee7f 100644 --- a/src/obproxy/obutils/ob_proxy_sequence_utils.cpp +++ b/src/obproxy/obutils/ob_proxy_sequence_utils.cpp @@ -27,15 +27,15 @@ namespace obproxy { namespace proxy { -static const char *PROXY_SELECT_SEQUENCE_INFO_SQL = +static const char *PROXY_SELECT_SEQUENCE_INFO_SQL = "SELECT CURRENT_TIMESTAMP(6) as now, value, min_value, max_value, step, gmt_create, gmt_modified " "FROM %.*s.%.*s WHERE name = '%.*s' LIMIT 1"; -static const char* PROXY_INSERT_SEQUENCE_INFO_SQL = +static const char* PROXY_INSERT_SEQUENCE_INFO_SQL = "INSERT INTO %.*s.%.*s(name, min_value, max_value, step, value, gmt_create, gmt_modified) " "VALUES('%.*s', '%ld','%ld', '%ld', '%ld', '%.*s', '%.*s')"; -static const char* PROXY_UPDATE_SEQUENCE_INFO_SQL = +static const char* PROXY_UPDATE_SEQUENCE_INFO_SQL = "UPDATE %.*s.%.*s SET value = '%ld', gmt_modified = now() WHERE name = '%.*s' and value = '%ld'"; static const char *PROXY_SELECT_SEQUENCE_INFO_WITH_TNT_SQL = diff --git a/src/obproxy/obutils/ob_proxy_sql_parser.h b/src/obproxy/obutils/ob_proxy_sql_parser.h index 1c7db9bc28a2b8ffa61f2b93a3699d1bc0c70ca8..b2dca17c016e9b430729e9d70fe2b1a5799e8b22 100644 --- a/src/obproxy/obutils/ob_proxy_sql_parser.h +++ b/src/obproxy/obutils/ob_proxy_sql_parser.h @@ -868,12 +868,12 @@ private: ObProxyStmt* proxy_stmt_; }; -const int OB_T_IDENT_NUM_CHILD = 0; -const int OB_T_RELATION_FACTOR_NUM_CHILD = 2; -const int OB_T_COLUMN_REF_NUM_CHILD = 3; -const int OB_T_ALIAS_TABLE_NAME_NUM_CHILD = 5; -const int OB_T_ALIAS_CLUMN_NAME_NUM_CHILD = 2; -const int OB_T_INDEX_NUM_CHILD = 3; +const int OB_T_IDENT_NUM_CHILD = 0; +const int OB_T_RELATION_FACTOR_NUM_CHILD = 2; +const int OB_T_COLUMN_REF_NUM_CHILD = 3; +const int OB_T_ALIAS_TABLE_NAME_NUM_CHILD = 5; +const int OB_T_ALIAS_CLUMN_NAME_NUM_CHILD = 2; +const int OB_T_INDEX_NUM_CHILD = 3; const int OB_T_RELATION_FACTOR_IN_HINT_NUM_CHILD = 2; class ObProxySqlParser diff --git a/src/obproxy/obutils/ob_proxy_table_processor.h b/src/obproxy/obutils/ob_proxy_table_processor.h index d0c0d16fbc907f376bcc62d0b30db46524e419ed..84424575041e03c5918223bfd164cf3e651da756 100644 --- a/src/obproxy/obutils/ob_proxy_table_processor.h +++ b/src/obproxy/obutils/ob_proxy_table_processor.h @@ -43,12 +43,12 @@ enum ObProxyRowStatus }; //.upgrade_start_time | .upgrade_duration_time -const int64_t OB_MAX_PROXY_UPGRADEN_TIME_LEN = 24; +const int64_t OB_MAX_PROXY_UPGRADEN_TIME_LEN = 24; //upgrade_off | upgrade_part | upgrade_on | upgrade_bin const int64_t OB_MAX_PROXY_UPGRADEN_SWITCH_LEN = 16; //all_proxy -const int64_t OB_ALL_PROXY_HEADER_LEN = sizeof("all_proxy"); -const int64_t OB_PROXY_CONFIG_VERSION_LEN = sizeof(".config_version"); +const int64_t OB_ALL_PROXY_HEADER_LEN = sizeof("all_proxy"); +const int64_t OB_PROXY_CONFIG_VERSION_LEN = sizeof(".config_version"); class ObProxyServerInfo { diff --git a/src/obproxy/obutils/ob_proxy_table_processor_utils.cpp b/src/obproxy/obutils/ob_proxy_table_processor_utils.cpp index 8402c1163b462fcbc360329971f36e7519466e44..e1fdc15f87b68863853d9dfe0f2ad1d2edb4218c 100644 --- a/src/obproxy/obutils/ob_proxy_table_processor_utils.cpp +++ b/src/obproxy/obutils/ob_proxy_table_processor_utils.cpp @@ -36,7 +36,7 @@ namespace obproxy { namespace obutils { -static const char *INADDR_ANY_IP = "0.0.0.0"; +static const char *INADDR_ANY_IP = "0.0.0.0"; static const char *INADDR_LOOPBACK_IP = "127.0.0.1"; static const char *GET_PROXY_INFO_SQL = @@ -134,7 +134,7 @@ static const char *GET_PROXY_ALL_VIP_TENANT_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ vid, vip, vport, tenant_name, cluster_name, info FROM %s LIMIT %ld"; static const char *JSON_REQUEST_TARGET = "REQUEST_TARGET"; -static const char *JSON_RW_TYPE = "RW_TYPE"; +static const char *JSON_RW_TYPE = "RW_TYPE"; int ObProxyTableProcessorUtils::get_proxy_info(ObMysqlProxy &mysql_proxy, diff --git a/src/obproxy/obutils/ob_resource_pool_processor.cpp b/src/obproxy/obutils/ob_resource_pool_processor.cpp index 1d2c57b511fe1b3f57b0447be0df2bf094b88e22..5b79733003ddcdb4c3f6ef42a69fed7e59b88077 100644 --- a/src/obproxy/obutils/ob_resource_pool_processor.cpp +++ b/src/obproxy/obutils/ob_resource_pool_processor.cpp @@ -44,19 +44,19 @@ namespace obutils { ObResourcePoolProcessor g_rp_processor; -const static char *CHEK_CLUSTER_NAME_SQL = +const static char *CHEK_CLUSTER_NAME_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ cluster FROM oceanbase.%s LIMIT 1"; -const static char *CHEK_CLUSTER_ROLE_SQL = +const static char *CHEK_CLUSTER_ROLE_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ cluster_role, cluster_status FROM oceanbase.%s LIMIT 1"; const static char *OBPROXY_V_DATABASE_TNAME = "v$ob_cluster"; -const static char *INIT_SS_INFO_SQL = +const static char *INIT_SS_INFO_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ *, zs.status AS zone_status, ss.status AS server_status " "FROM oceanbase.%s zs, oceanbase.%s ss " "WHERE zs.zone=ss.zone " "AND ss.svr_port > 0 LIMIT %ld;"; -const static char *PRIMARY_ROLE = "PRIMARY"; -const static char *ROLE_VALID = "VALID"; +const static char *PRIMARY_ROLE = "PRIMARY"; +const static char *ROLE_VALID = "VALID"; //-------ObClusterInfoKey------ DEF_TO_STRING(ObClusterInfoKey) diff --git a/src/obproxy/obutils/ob_server_state_processor.cpp b/src/obproxy/obutils/ob_server_state_processor.cpp index 19991af6b1d36ed31d8505dba00e5ffff8ae538d..211b1df77f11b6f8a24e2d5552ad0b573fe3b345 100644 --- a/src/obproxy/obutils/ob_server_state_processor.cpp +++ b/src/obproxy/obutils/ob_server_state_processor.cpp @@ -40,7 +40,7 @@ namespace obproxy namespace obutils { -static const char *SELECT_ZONE_STATE_INFO_SQL = +static const char *SELECT_ZONE_STATE_INFO_SQL = //zone, is_merging, status, region "SELECT /*+READ_CONSISTENCY(WEAK)*/ * " "FROM oceanbase.%s LIMIT %ld"; @@ -48,19 +48,19 @@ static const char *SELECT_ZONE_STATE_INFO_SQL = //when server fail to start, its status is inactive, but its port == 0. //it is design defect, but proxy need compatible with it. //so select svr_port > 0 one -const static char *SELECT_SERVER_STATE_INFO_SQL = +const static char *SELECT_SERVER_STATE_INFO_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ svr_ip, svr_port, zone, status, start_service_time, stop_time " "FROM oceanbase.%s " "WHERE svr_port > 0 ORDER BY zone LIMIT %ld"; -const static char *SELECT_CLUSTER_ROEL_SQL = +const static char *SELECT_CLUSTER_ROEL_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ cluster_role, cluster_status, primary_cluster_id " "FROM oceanbase.v$ob_cluster LIMIT 1"; -const static char *SYS_LDG_INFO_SQL = +const static char *SYS_LDG_INFO_SQL = "SELECT TENANT_ID, TENANT_NAME, CLUSTER_ID, CLUSTER_NAME, LDG_ROLE " "FROM oceanbase.ldg_standby_status"; -const static char *SELECT_ALL_TENANT_SQL = +const static char *SELECT_ALL_TENANT_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ tenant_name, locality FROM oceanbase.__all_tenant " "where previous_locality = '' and tenant_id != 1"; diff --git a/src/obproxy/proxy/client/ob_client_vc.cpp b/src/obproxy/proxy/client/ob_client_vc.cpp index 068813bdb6de3ff60edcc1726ab2a5b3b6bde0ab..98f273d7c3b4b758ba49a4a3cc80ec0b7e8835d4 100644 --- a/src/obproxy/proxy/client/ob_client_vc.cpp +++ b/src/obproxy/proxy/client/ob_client_vc.cpp @@ -33,10 +33,10 @@ namespace proxy enum { CLIENT_MAGIC_ALIVE = 0xAABBCCDD, - CLIENT_MAGIC_DEAD = 0xDDCCBBAA + CLIENT_MAGIC_DEAD = 0xDDCCBBAA }; -static int64_t const MYSQL_BUFFER_SIZE = BUFFER_SIZE_FOR_INDEX(BUFFER_SIZE_INDEX_8K); +static int64_t const MYSQL_BUFFER_SIZE = BUFFER_SIZE_FOR_INDEX(BUFFER_SIZE_INDEX_8K); static int64_t const RESCHEDULE_GET_NETHANDLER_LOCK_INTERVAL = HRTIME_MSECONDS(1); // 1ms ObClientVC::ObClientVC(ObMysqlClient &client_core) diff --git a/src/obproxy/proxy/mysql/ob_mysql_sm.h b/src/obproxy/proxy/mysql/ob_mysql_sm.h index dac2de2b6b5664f81785bd20f154adfe606db93f..9f0f458cde10b3f2b56e1d6ba7f718af612c206f 100644 --- a/src/obproxy/proxy/mysql/ob_mysql_sm.h +++ b/src/obproxy/proxy/mysql/ob_mysql_sm.h @@ -59,7 +59,7 @@ namespace proxy // from the observer since we want to get as much of the // document as possible on the first read Marco benchmarked // about 3% ops/second improvement using the larger buffer size -static int64_t const MYSQL_BUFFER_SIZE = BUFFER_SIZE_FOR_INDEX(BUFFER_SIZE_INDEX_8K); +static int64_t const MYSQL_BUFFER_SIZE = BUFFER_SIZE_FOR_INDEX(BUFFER_SIZE_INDEX_8K); static const int64_t MYSQL_SM_LIST_BUCKETS = 64; class ObMysqlServerSession; @@ -67,7 +67,7 @@ class ObMysqlServerSession; enum ObMysqlSMMagic { MYSQL_SM_MAGIC_ALIVE = 0x0000FEED, - MYSQL_SM_MAGIC_DEAD = 0xDEADFEED + MYSQL_SM_MAGIC_DEAD = 0xDEADFEED }; struct ObStreamSizeStat diff --git a/src/obproxy/proxy/mysqllib/ob_mysql_common_define.h b/src/obproxy/proxy/mysqllib/ob_mysql_common_define.h index c5bcb7bf1ff23c52a77a6d4f0e8ab57d39e060a1..4b9d34d192b726cf2fd6937836b103ce97311a3a 100644 --- a/src/obproxy/proxy/mysqllib/ob_mysql_common_define.h +++ b/src/obproxy/proxy/mysqllib/ob_mysql_common_define.h @@ -23,13 +23,13 @@ namespace obproxy namespace proxy { -static const uint32_t MYSQL_NET_HEADER_LENGTH = 4; // standard header size -static const uint32_t MYSQL_PAYLOAD_LENGTH_LENGTH = 3; // standard payload length size -static const int64_t MYSQL_COMP_HEADER_LENGTH = 3; // compression header extra size -static const int64_t MYSQL_NET_TYPE_LENGTH = 1; // packet type size -static const int64_t MYSQL_PS_EXECUTE_HEADER_LENGTH = 9; // ps packet header size: stmt_id + flag + iteration-count +static const uint32_t MYSQL_NET_HEADER_LENGTH = 4; // standard header size +static const uint32_t MYSQL_PAYLOAD_LENGTH_LENGTH = 3; // standard payload length size +static const int64_t MYSQL_COMP_HEADER_LENGTH = 3; // compression header extra size +static const int64_t MYSQL_NET_TYPE_LENGTH = 1; // packet type size +static const int64_t MYSQL_PS_EXECUTE_HEADER_LENGTH = 9; // ps packet header size: stmt_id + flag + iteration-count // mysql meta info include mysql header and mysql request type -static const int64_t MYSQL_NET_META_LENGTH = MYSQL_NET_TYPE_LENGTH + MYSQL_NET_HEADER_LENGTH; +static const int64_t MYSQL_NET_META_LENGTH = MYSQL_NET_TYPE_LENGTH + MYSQL_NET_HEADER_LENGTH; // compressed packet // The header looks like: @@ -37,29 +37,29 @@ static const int64_t MYSQL_NET_META_LENGTH = MYSQL_NET_TYPE_LENGTH + MYSQL_NET_H // 3 length of compressed payload // 1 compressed sequence id // 3 length of payload before compression -static const int64_t MYSQL_COMPRESSED_HEALDER_LENGTH = 7; +static const int64_t MYSQL_COMPRESSED_HEALDER_LENGTH = 7; -static const int64_t MYSQL_PACKET_MAX_LENGTH = 0xFFFFFF; -static const int64_t MYSQL_PAYLOAD_MAX_LENGTH = (MYSQL_PACKET_MAX_LENGTH - 1); -static const int64_t MYSQL_SHORT_PACKET_MAX_LENGTH = 2048; //for ok, eof +static const int64_t MYSQL_PACKET_MAX_LENGTH = 0xFFFFFF; +static const int64_t MYSQL_PAYLOAD_MAX_LENGTH = (MYSQL_PACKET_MAX_LENGTH - 1); +static const int64_t MYSQL_SHORT_PACKET_MAX_LENGTH = 2048; //for ok, eof //for hello pkt, the first pkt send by observer or mysql -static const int64_t MYSQL_HELLO_PKT_MAX_LEN = 1024; -static const int64_t MYSQL_OK_PACKET_TYPE = 0x00; -static const int64_t MYSQL_ERR_PACKET_TYPE = 0xFF; +static const int64_t MYSQL_HELLO_PKT_MAX_LEN = 1024; +static const int64_t MYSQL_OK_PACKET_TYPE = 0x00; +static const int64_t MYSQL_ERR_PACKET_TYPE = 0xFF; //the EOF packet may appear in places where a Protocol::LengthEncodedInteger //may appear. You must check whether the packet length is less than 9 to //make sure that it is a EOF packet. -static const int64_t MYSQL_EOF_PACKET_TYPE = 0xFE; -static const int64_t MYSQL_LOCAL_INFILE_TYPE = 0xFB; -static const int64_t MYSQL_HANDSHAKE_PACKET_TYPE = 0x0A; +static const int64_t MYSQL_EOF_PACKET_TYPE = 0xFE; +static const int64_t MYSQL_LOCAL_INFILE_TYPE = 0xFB; +static const int64_t MYSQL_HANDSHAKE_PACKET_TYPE = 0x0A; //-----------------------------------oceanbase 2.0 c/s protocol----------------------// -static const uint16_t OB20_PROTOCOL_MAGIC_NUM = 0x20AB; -static const int64_t OB20_PROTOCOL_HEADER_LENGTH = 24; -static const int32_t OB20_PROTOCOL_TAILER_LENGTH = 4; // for CRC32 -static const int64_t OB20_PROTOCOL_HEADER_TAILER_LENGTH = OB20_PROTOCOL_HEADER_LENGTH + OB20_PROTOCOL_TAILER_LENGTH; -static const int32_t OB20_PROTOCOL_EXTRA_INFO_LENGTH = 4; // for the length of extra info -static const int16_t OB20_PROTOCOL_VERSION_VALUE = 20; +static const uint16_t OB20_PROTOCOL_MAGIC_NUM = 0x20AB; +static const int64_t OB20_PROTOCOL_HEADER_LENGTH = 24; +static const int32_t OB20_PROTOCOL_TAILER_LENGTH = 4; // for CRC32 +static const int64_t OB20_PROTOCOL_HEADER_TAILER_LENGTH = OB20_PROTOCOL_HEADER_LENGTH + OB20_PROTOCOL_TAILER_LENGTH; +static const int32_t OB20_PROTOCOL_EXTRA_INFO_LENGTH = 4; // for the length of extra info +static const int16_t OB20_PROTOCOL_VERSION_VALUE = 20; static const int64_t MYSQL_COMPRESSED_OB20_HEALDER_LENGTH = MYSQL_COMPRESSED_HEALDER_LENGTH + OB20_PROTOCOL_HEADER_LENGTH; // one of those types indicates that one mysql cmd response is finished diff --git a/src/obproxy/proxy/mysqllib/ob_proxy_session_info_handler.cpp b/src/obproxy/proxy/mysqllib/ob_proxy_session_info_handler.cpp index 5d07535f46e56a050e6192d888eb794f56436757..4862018b8ab5b5333f6b9d0fb6799ac03e00f38e 100644 --- a/src/obproxy/proxy/mysqllib/ob_proxy_session_info_handler.cpp +++ b/src/obproxy/proxy/mysqllib/ob_proxy_session_info_handler.cpp @@ -37,7 +37,7 @@ namespace obproxy namespace proxy { -const ObString PROXY_IDC_NAME_USER_SESSION_VAR = common::ObString::make_string("proxy_idc_name"); +const ObString PROXY_IDC_NAME_USER_SESSION_VAR = common::ObString::make_string("proxy_idc_name"); const ObString PROXY_ROUTE_POLICY_USER_SESSION_VAR = common::ObString::make_string("proxy_route_policy"); int ObProxySessionInfoHandler::analyze_extra_ok_packet(ObIOBufferReader &reader, diff --git a/src/obproxy/proxy/route/ob_ldc_struct.h b/src/obproxy/proxy/route/ob_ldc_struct.h index 4d3f78e53b874e0747d504beb5cd1e3c6bd8c481..e96ad78cc3efbf6075c07977329dab4fdcf34781 100644 --- a/src/obproxy/proxy/route/ob_ldc_struct.h +++ b/src/obproxy/proxy/route/ob_ldc_struct.h @@ -35,53 +35,53 @@ const common::ObString get_idc_type_string(const ObIDCType type); * |--- n bits ---|--- 2 bits ---|--- 2 bits ---|--- 2 bits ---|--- 2 bits ---|--- 2 bits ---| LSB * | new attribute |-- role type --|-- pl status --| zone type | merge status | IDC | LSB */ -static const int64_t MERGE_BITS_SHIFT = 2; -static const int64_t ZONE_TYPE_BITS_SHIFT = 4; -static const int64_t PARTITION_BITS_SHIFT = 6; -static const int64_t ROLE_TYPE_BITS_SHIFT = 8; +static const int64_t MERGE_BITS_SHIFT = 2; +static const int64_t ZONE_TYPE_BITS_SHIFT = 4; +static const int64_t PARTITION_BITS_SHIFT = 6; +static const int64_t ROLE_TYPE_BITS_SHIFT = 8; static const int64_t NEW_ATTRIBUTE_BITS_SHIFT = 10; -static const int64_t IN_SAME_IDC = static_cast(SAME_IDC); //LOCAL -static const int64_t IN_SAME_REGION = static_cast(SAME_REGION); //REGION -static const int64_t IN_OTHER_REGION = static_cast(OTHER_REGION);//REMOTE -static const int64_t UNKNOWN_REGION = static_cast(MAX_IDC_TYPE);//UNKNOWN - -static const int64_t IN_UNMERGING = 0 << MERGE_BITS_SHIFT; //UNMERGE -static const int64_t IN_MERGING = 1 << MERGE_BITS_SHIFT;//MERGE -static const int64_t UNKNOWN_MERGE_STATUS = 3 << MERGE_BITS_SHIFT;//UNKNOWN - -static const int64_t IS_READWRITE_ZONE = 0 << ZONE_TYPE_BITS_SHIFT; //READWRITE -static const int64_t IS_READONLY_ZONE = 1 << ZONE_TYPE_BITS_SHIFT; //READONLY -static const int64_t UNKNOWN_ZONE_TYPE = 3 << ZONE_TYPE_BITS_SHIFT;//UNKNOWN - -static const int64_t WITH_PARTITION_TYPE = 0 << PARTITION_BITS_SHIFT;//PARTITION -static const int64_t WITHOUT_PARTITION_TYPE = 1 << PARTITION_BITS_SHIFT;//NONPARTITION -static const int64_t UNKNOWN_PARTITION_TYPE = 3 << PARTITION_BITS_SHIFT;//UNKNOWN - -static const int64_t IS_FOLLOWER = 0 << ROLE_TYPE_BITS_SHIFT; //FOLLOWER -static const int64_t IS_LEADER = 1 << ROLE_TYPE_BITS_SHIFT; //LEADER -static const int64_t UNKNOWN_ROLE = 3 << ROLE_TYPE_BITS_SHIFT;//UNKNOWN - -static const int64_t MAX_IDC_VALUE = ((1 << MERGE_BITS_SHIFT) -1);//0x0011 -static const int64_t MAX_MERGE_VALUE = (((1 << (ZONE_TYPE_BITS_SHIFT - MERGE_BITS_SHIFT)) -1) << MERGE_BITS_SHIFT);//0x01100 -static const int64_t MAX_ZONE_TYPE_VALUE = (((1 << (PARTITION_BITS_SHIFT - ZONE_TYPE_BITS_SHIFT)) -1) << ZONE_TYPE_BITS_SHIFT);//0x0011 0000 +static const int64_t IN_SAME_IDC = static_cast(SAME_IDC); //LOCAL +static const int64_t IN_SAME_REGION = static_cast(SAME_REGION); //REGION +static const int64_t IN_OTHER_REGION = static_cast(OTHER_REGION);//REMOTE +static const int64_t UNKNOWN_REGION = static_cast(MAX_IDC_TYPE);//UNKNOWN + +static const int64_t IN_UNMERGING = 0 << MERGE_BITS_SHIFT; //UNMERGE +static const int64_t IN_MERGING = 1 << MERGE_BITS_SHIFT;//MERGE +static const int64_t UNKNOWN_MERGE_STATUS = 3 << MERGE_BITS_SHIFT;//UNKNOWN + +static const int64_t IS_READWRITE_ZONE = 0 << ZONE_TYPE_BITS_SHIFT; //READWRITE +static const int64_t IS_READONLY_ZONE = 1 << ZONE_TYPE_BITS_SHIFT; //READONLY +static const int64_t UNKNOWN_ZONE_TYPE = 3 << ZONE_TYPE_BITS_SHIFT;//UNKNOWN + +static const int64_t WITH_PARTITION_TYPE = 0 << PARTITION_BITS_SHIFT;//PARTITION +static const int64_t WITHOUT_PARTITION_TYPE = 1 << PARTITION_BITS_SHIFT;//NONPARTITION +static const int64_t UNKNOWN_PARTITION_TYPE = 3 << PARTITION_BITS_SHIFT;//UNKNOWN + +static const int64_t IS_FOLLOWER = 0 << ROLE_TYPE_BITS_SHIFT; //FOLLOWER +static const int64_t IS_LEADER = 1 << ROLE_TYPE_BITS_SHIFT; //LEADER +static const int64_t UNKNOWN_ROLE = 3 << ROLE_TYPE_BITS_SHIFT;//UNKNOWN + +static const int64_t MAX_IDC_VALUE = ((1 << MERGE_BITS_SHIFT) -1);//0x0011 +static const int64_t MAX_MERGE_VALUE = (((1 << (ZONE_TYPE_BITS_SHIFT - MERGE_BITS_SHIFT)) -1) << MERGE_BITS_SHIFT);//0x01100 +static const int64_t MAX_ZONE_TYPE_VALUE = (((1 << (PARTITION_BITS_SHIFT - ZONE_TYPE_BITS_SHIFT)) -1) << ZONE_TYPE_BITS_SHIFT);//0x0011 0000 static const int64_t MAX_PARTITION_TYPE_VALUE = (((1 << (ROLE_TYPE_BITS_SHIFT - PARTITION_BITS_SHIFT)) -1) << PARTITION_BITS_SHIFT);//0x1100 0000 -static const int64_t MAX_ROLE_TYPE_VALUE = (((1 << (NEW_ATTRIBUTE_BITS_SHIFT - ROLE_TYPE_BITS_SHIFT)) -1) << ROLE_TYPE_BITS_SHIFT);//0x0011 0000 0000 +static const int64_t MAX_ROLE_TYPE_VALUE = (((1 << (NEW_ATTRIBUTE_BITS_SHIFT - ROLE_TYPE_BITS_SHIFT)) -1) << ROLE_TYPE_BITS_SHIFT);//0x0011 0000 0000 enum ObRouteType { - ROUTE_TYPE_PARTITION_READWRITE_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_SAME_IDC), // 768 - ROUTE_TYPE_PARTITION_READWRITE_UNMERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_SAME_REGION), // 769 - ROUTE_TYPE_PARTITION_READWRITE_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_OTHER_REGION), // 770 - ROUTE_TYPE_PARTITION_READWRITE_MERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_MERGING | IN_SAME_IDC), // 772 - ROUTE_TYPE_PARTITION_READWRITE_MERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_MERGING | IN_SAME_REGION), // 723 - ROUTE_TYPE_PARTITION_READWRITE_MERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_MERGING | IN_OTHER_REGION), // 724 - - ROUTE_TYPE_PARTITION_READONLY_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_UNMERGING | IN_SAME_IDC), // 784 - ROUTE_TYPE_PARTITION_READONLY_UNMERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_UNMERGING | IN_SAME_REGION), // 785 - ROUTE_TYPE_PARTITION_READONLY_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_UNMERGING | IN_OTHER_REGION), // 786 - ROUTE_TYPE_PARTITION_READONLY_MERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_SAME_IDC), // 788 - ROUTE_TYPE_PARTITION_READONLY_MERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_SAME_REGION), // 789 - ROUTE_TYPE_PARTITION_READONLY_MERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_OTHER_REGION), // 790 + ROUTE_TYPE_PARTITION_READWRITE_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_SAME_IDC), // 768 + ROUTE_TYPE_PARTITION_READWRITE_UNMERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_SAME_REGION), // 769 + ROUTE_TYPE_PARTITION_READWRITE_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_OTHER_REGION), // 770 + ROUTE_TYPE_PARTITION_READWRITE_MERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_MERGING | IN_SAME_IDC), // 772 + ROUTE_TYPE_PARTITION_READWRITE_MERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_MERGING | IN_SAME_REGION), // 723 + ROUTE_TYPE_PARTITION_READWRITE_MERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READWRITE_ZONE | IN_MERGING | IN_OTHER_REGION), // 724 + + ROUTE_TYPE_PARTITION_READONLY_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_UNMERGING | IN_SAME_IDC), // 784 + ROUTE_TYPE_PARTITION_READONLY_UNMERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_UNMERGING | IN_SAME_REGION), // 785 + ROUTE_TYPE_PARTITION_READONLY_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_UNMERGING | IN_OTHER_REGION), // 786 + ROUTE_TYPE_PARTITION_READONLY_MERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_SAME_IDC), // 788 + ROUTE_TYPE_PARTITION_READONLY_MERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_SAME_REGION), // 789 + ROUTE_TYPE_PARTITION_READONLY_MERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_OTHER_REGION), // 790 ROUTE_TYPE_NONPARTITION_READWRITE_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_SAME_IDC), // 832 ROUTE_TYPE_NONPARTITION_READWRITE_UNMERGE_REGION = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | IS_READWRITE_ZONE | IN_UNMERGING | IN_SAME_REGION), // 833 @@ -97,37 +97,37 @@ enum ObRouteType ROUTE_TYPE_NONPARTITION_READONLY_MERGE_REGION = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_SAME_REGION), // 853 ROUTE_TYPE_NONPARTITION_READONLY_MERGE_REMOTE = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | IS_READONLY_ZONE | IN_MERGING | IN_OTHER_REGION), // 854 - ROUTE_TYPE_PARTITION_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 816 - ROUTE_TYPE_PARTITION_UNMERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 817 - ROUTE_TYPE_PARTITION_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 818 - ROUTE_TYPE_PARTITION_MERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 820 - ROUTE_TYPE_PARTITION_MERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 821 - ROUTE_TYPE_PARTITION_MERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 822 - - ROUTE_TYPE_NONPARTITION_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 880 - ROUTE_TYPE_NONPARTITION_UNMERGE_REGION = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 881 - ROUTE_TYPE_NONPARTITION_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 882 - ROUTE_TYPE_NONPARTITION_MERGE_LOCAL = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 884 - ROUTE_TYPE_NONPARTITION_MERGE_REGION = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 885 - ROUTE_TYPE_NONPARTITION_MERGE_REMOTE = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 886 - - ROUTE_TYPE_LEADER = (IS_LEADER | WITH_PARTITION_TYPE | MAX_ZONE_TYPE_VALUE | MAX_MERGE_VALUE | MAX_IDC_VALUE), // 319 - - ROUTE_TYPE_FOLLOWER_PARTITION_UNMERGE_LOCAL = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 48 - ROUTE_TYPE_FOLLOWER_PARTITION_UNMERGE_REGION = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 49 - ROUTE_TYPE_FOLLOWER_PARTITION_UNMERGE_REMOTE = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 50 - ROUTE_TYPE_FOLLOWER_PARTITION_MERGE_LOCAL = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 52 - ROUTE_TYPE_FOLLOWER_PARTITION_MERGE_REGION = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 53 - ROUTE_TYPE_FOLLOWER_PARTITION_MERGE_REMOTE = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 54 - - ROUTE_TYPE_LEADER_PARTITION_UNMERGE_LOCAL = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 304 - ROUTE_TYPE_LEADER_PARTITION_UNMERGE_REGION = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 305 - ROUTE_TYPE_LEADER_PARTITION_UNMERGE_REMOTE = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 306 - ROUTE_TYPE_LEADER_PARTITION_MERGE_LOCAL = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 308 - ROUTE_TYPE_LEADER_PARTITION_MERGE_REGION = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 309 - ROUTE_TYPE_LEADER_PARTITION_MERGE_REMOTE = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 310 - - ROUTE_TYPE_MAX = (MAX_ROLE_TYPE_VALUE | MAX_PARTITION_TYPE_VALUE | MAX_ZONE_TYPE_VALUE | MAX_MERGE_VALUE | MAX_IDC_VALUE),//1023 + ROUTE_TYPE_PARTITION_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 816 + ROUTE_TYPE_PARTITION_UNMERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 817 + ROUTE_TYPE_PARTITION_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 818 + ROUTE_TYPE_PARTITION_MERGE_LOCAL = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 820 + ROUTE_TYPE_PARTITION_MERGE_REGION = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 821 + ROUTE_TYPE_PARTITION_MERGE_REMOTE = (UNKNOWN_ROLE | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 822 + + ROUTE_TYPE_NONPARTITION_UNMERGE_LOCAL = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 880 + ROUTE_TYPE_NONPARTITION_UNMERGE_REGION = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 881 + ROUTE_TYPE_NONPARTITION_UNMERGE_REMOTE = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 882 + ROUTE_TYPE_NONPARTITION_MERGE_LOCAL = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 884 + ROUTE_TYPE_NONPARTITION_MERGE_REGION = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 885 + ROUTE_TYPE_NONPARTITION_MERGE_REMOTE = (UNKNOWN_ROLE | WITHOUT_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 886 + + ROUTE_TYPE_LEADER = (IS_LEADER | WITH_PARTITION_TYPE | MAX_ZONE_TYPE_VALUE | MAX_MERGE_VALUE | MAX_IDC_VALUE), // 319 + + ROUTE_TYPE_FOLLOWER_PARTITION_UNMERGE_LOCAL = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 48 + ROUTE_TYPE_FOLLOWER_PARTITION_UNMERGE_REGION = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 49 + ROUTE_TYPE_FOLLOWER_PARTITION_UNMERGE_REMOTE = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 50 + ROUTE_TYPE_FOLLOWER_PARTITION_MERGE_LOCAL = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 52 + ROUTE_TYPE_FOLLOWER_PARTITION_MERGE_REGION = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 53 + ROUTE_TYPE_FOLLOWER_PARTITION_MERGE_REMOTE = (IS_FOLLOWER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 54 + + ROUTE_TYPE_LEADER_PARTITION_UNMERGE_LOCAL = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_IDC), // 304 + ROUTE_TYPE_LEADER_PARTITION_UNMERGE_REGION = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_SAME_REGION), // 305 + ROUTE_TYPE_LEADER_PARTITION_UNMERGE_REMOTE = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_UNMERGING | IN_OTHER_REGION), // 306 + ROUTE_TYPE_LEADER_PARTITION_MERGE_LOCAL = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_IDC), // 308 + ROUTE_TYPE_LEADER_PARTITION_MERGE_REGION = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_SAME_REGION), // 309 + ROUTE_TYPE_LEADER_PARTITION_MERGE_REMOTE = (IS_LEADER | WITH_PARTITION_TYPE | UNKNOWN_ZONE_TYPE | IN_MERGING | IN_OTHER_REGION), // 310 + + ROUTE_TYPE_MAX = (MAX_ROLE_TYPE_VALUE | MAX_PARTITION_TYPE_VALUE | MAX_ZONE_TYPE_VALUE | MAX_MERGE_VALUE | MAX_IDC_VALUE),//1023 }; common::ObString get_route_type_string(const ObRouteType type); diff --git a/src/obproxy/proxy/route/ob_route_utils.cpp b/src/obproxy/proxy/route/ob_route_utils.cpp index d5fbefa75f957015c8af5b90ff6f1e63266786a9..6d60aaf8102b5d81658440006a4d2483b5017267 100644 --- a/src/obproxy/proxy/route/ob_route_utils.cpp +++ b/src/obproxy/proxy/route/ob_route_utils.cpp @@ -46,23 +46,23 @@ namespace obproxy namespace proxy { -static const char PART_KEY_EXTRA_SEPARATOR = ';'; +static const char PART_KEY_EXTRA_SEPARATOR = ';'; -static const char *PROXY_PLAIN_SCHEMA_SQL = +static const char *PROXY_PLAIN_SCHEMA_SQL = //svr_ip, sql_port, table_id, role, part_num, replica_num, spare1 "SELECT /*+READ_CONSISTENCY(WEAK)%s*/ * " "FROM oceanbase.%s " "WHERE tenant_name = '%.*s' AND database_name = '%.*s' AND table_name = '%.*s' " "AND partition_id = %ld " "ORDER BY role ASC LIMIT %ld"; -static const char *PROXY_TENANT_SCHEMA_SQL = +static const char *PROXY_TENANT_SCHEMA_SQL = //svr_ip, sql_port, table_id, role, part_num, replica_num "SELECT /*+READ_CONSISTENCY(WEAK)*/ * " "FROM oceanbase.%s " "WHERE tenant_name = '%.*s' AND database_name = '%.*s' AND table_name = '%.*s' AND sql_port > 0 " "ORDER BY partition_id ASC, role ASC LIMIT %ld"; -static const char *PROXY_PART_INFO_SQL = +static const char *PROXY_PART_INFO_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ template_num, part_level, part_num, part_type, part_space, part_expr, " "part_interval_bin, interval_start_bin, sub_part_num, sub_part_type, sub_part_space, " "sub_part_expr, def_sub_part_interval_bin, def_sub_interval_start_bin, " @@ -71,28 +71,28 @@ static const char *PROXY_PART_INFO_SQL = "FROM oceanbase.%s " "WHERE table_id = %lu LIMIT %d;"; -static const char *PROXY_FIRST_PART_SQL = +static const char *PROXY_FIRST_PART_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ part_id, part_name, high_bound_val_bin, sub_part_num " "FROM oceanbase.%s " "WHERE table_id = %lu LIMIT %ld;"; // observer 2.1.1 do not have high_bound_val_bin, so use two different sql -static const char *PROXY_HASH_FIRST_PART_SQL = +static const char *PROXY_HASH_FIRST_PART_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ part_id, part_name, sub_part_num " "FROM oceanbase.%s " "WHERE table_id = %lu LIMIT %ld;"; -static const char *PROXY_SUB_PART_SQL = +static const char *PROXY_SUB_PART_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ part_id, sub_part_id, high_bound_val_bin " "FROM oceanbase.%s " "WHERE table_id = %lu and part_id = %ld LIMIT %ld;"; -static const char *PROXY_NON_TEMPLATE_SUB_PART_SQL = +static const char *PROXY_NON_TEMPLATE_SUB_PART_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ part_id, sub_part_id, high_bound_val_bin " "FROM oceanbase.%s " "WHERE table_id = %lu LIMIT %ld;"; -static const char *PROXY_ROUTINE_SCHEMA_SQL = +static const char *PROXY_ROUTINE_SCHEMA_SQL = "SELECT /*+READ_CONSISTENCY(WEAK)*/ * " "FROM oceanbase.%s " "WHERE tenant_name = '%.*s' AND database_name = '%.*s' AND table_name = '%.*s' " diff --git a/src/obproxy/stat/ob_stat_processor.cpp b/src/obproxy/stat/ob_stat_processor.cpp index 07327308c17bbc3131534a1dc4a264b77b2c1381..87037aa8c89c3eef1e3bf4f01fc579aef111f1c7 100644 --- a/src/obproxy/stat/ob_stat_processor.cpp +++ b/src/obproxy/stat/ob_stat_processor.cpp @@ -64,23 +64,23 @@ struct ObSessionStatTableSync : public event::ObContinuation }; ObStatProcessor g_stat_processor; -volatile int64_t g_current_report_count = 0; +volatile int64_t g_current_report_count = 0; -const char *ObStatProcessor::INSERT_PROXY_STAT_SQL_HEAD = +const char *ObStatProcessor::INSERT_PROXY_STAT_SQL_HEAD = "INSERT INTO %s " "(cluster_name, proxy_ip, proxy_port, session_id, stat_name, value, info) VALUES "; const char *ObStatProcessor::ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES_AND_INFO = "('%s', '%s', %d, %ld, '%s', %ld, '%s'),"; -const char *ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES_AND_INFO_END = +const char *ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES_AND_INFO_END = "('%s', '%s', %d, %ld, '%s', %ld, '%s') " "ON DUPLICATE KEY UPDATE value = VALUES(value), info=VALUES(info);\n"; -const char *ObStatProcessor::ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES = +const char *ObStatProcessor::ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES = "('%s', '%s', %d, %lu, '%s', %ld, ''),"; -const char *ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES_END = +const char *ObStatProcessor::INSERT_PROXY_STAT_SQL_VALUES_END = "('%s', '%s', %d, %lu, '%s', %ld, '') " "ON DUPLICATE KEY UPDATE value = VALUES(value);\n"; diff --git a/src/obproxy/utils/ob_proxy_blowfish.cpp b/src/obproxy/utils/ob_proxy_blowfish.cpp index 7f6829915a71769c849c858d3a1223abc090e18b..24a80018a7a3c0e81aae0704f64696f542579bd0 100644 --- a/src/obproxy/utils/ob_proxy_blowfish.cpp +++ b/src/obproxy/utils/ob_proxy_blowfish.cpp @@ -8,6 +8,25 @@ * 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. + * + * ************************************************************* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * */ #define USING_LOG_PREFIX PROXY @@ -21,63 +40,7 @@ namespace oceanbase { namespace obproxy { -const char *ObBlowFish::ENC_KEY_BYTES_PROD_STR = "gQzLk5tTcGYlQ47GG29xQxfbHIURCheJ"; - -int ObBlowFish::encode(char *in, const int64_t in_len, char *out, const int64_t out_len) -{ - int ret = OB_SUCCESS; - if (OB_ISNULL(in) || OB_ISNULL(out)) { - ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(in), K(out), K(in_len), K(out_len), K(ret)); - } else { - char tmp_out[OB_MAX_PASSWORD_LENGTH]; - memset(tmp_out, 0, sizeof(tmp_out)); - int64_t in_str_len = strlen(in); - int64_t padding_len = BF_BLOCK - in_str_len % BF_BLOCK; - if (OB_UNLIKELY(in_str_len + padding_len >= in_len)) { - ret = OB_SIZE_OVERFLOW; - LOG_WARN("in buffer size is not enough", K(padding_len), K(in), K(in_len), K(ret)); - } else { - for (int64_t i = in_str_len; i < in_str_len + padding_len; ++i) { - in[i] = static_cast(padding_len); - } - if (OB_FAIL(do_bf_ecb_encrypt(reinterpret_cast(in), in_str_len + padding_len, - reinterpret_cast(tmp_out), OB_MAX_PASSWORD_LENGTH, BF_ENCRYPT))) { - LOG_WARN("fail to do bf ecb encrypt", K(in), K(padding_len), K(ret)); - } else if (OB_FAIL(covert_string_to_hex(tmp_out, strlen(tmp_out), out, out_len))) { - LOG_WARN("fail to convert str to hex", K(ret)); - } - } - } - return ret; -} - -int ObBlowFish::decode(const char *in, const int64_t in_str_len, char *out, const int64_t out_len) -{ - int ret = OB_SUCCESS; - if (OB_ISNULL(in) || OB_ISNULL(out)) { - ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(in), K(out), K(in_str_len), K(out_len), K(ret)); - } else { - char tmp_out[OB_MAX_PASSWORD_LENGTH]; - memset(tmp_out, 0, sizeof(tmp_out)); - int64_t tmp_out_len = 0; - if (OB_FAIL(convert_large_str_to_hex(in, in_str_len, tmp_out, OB_MAX_PASSWORD_LENGTH, tmp_out_len))) { - } else if (OB_FAIL(do_bf_ecb_encrypt(reinterpret_cast(tmp_out), tmp_out_len, - reinterpret_cast(out), out_len, BF_DECRYPT))) { - LOG_WARN("fail to do bf ecn encrypt", K(ret)); - } else { - // trim padding number - int64_t result_len = strlen(out); - if (out[result_len - 1] >= 1 && out[result_len - 1] <= 8) { - int64_t padding_len = out[result_len - 1]; - result_len = result_len - padding_len; - memset(out + result_len, 0, padding_len); - } - } - } - return ret; -} +const char *ObBlowFish::ENC_KEY_BYTES_PROD_STR = ""; int ObBlowFish::do_bf_ecb_encrypt(const unsigned char *in, const int64_t in_str_len, unsigned char *out, const int64_t out_len, @@ -89,13 +52,16 @@ int ObBlowFish::do_bf_ecb_encrypt(const unsigned char *in, const int64_t in_str_ || OB_UNLIKELY(in_str_len > out_len) || OB_UNLIKELY(BF_ENCRYPT != enc_mode && BF_DECRYPT != enc_mode)) { ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(in), K(out), K(in_str_len), K(out_len), K(enc_mode), K(ret)); + LOG_WARN("invalid argument", K(in), K(out), K(in_str_len), K(out_len), + K(enc_mode), K(ret)); } else { BF_KEY bf_key; - BF_set_key(&bf_key, static_cast(strlen(ENC_KEY_BYTES_PROD_STR)), reinterpret_cast(ENC_KEY_BYTES_PROD_STR)); + BF_set_key(&bf_key, static_cast(strlen(ObBlowFish::ENC_KEY_BYTES_PROD_STR)), + reinterpret_cast(ObBlowFish::ENC_KEY_BYTES_PROD_STR)); int pos = 0; while (pos != in_str_len) { - BF_ecb_encrypt(reinterpret_cast(in + pos), reinterpret_cast(out + pos), &bf_key, enc_mode); + BF_ecb_encrypt(reinterpret_cast(in + pos), + reinterpret_cast(out + pos), &bf_key, enc_mode); pos += BF_BLOCK; } } @@ -132,6 +98,7 @@ int ObBlowFish::covert_string_to_hex(const char *str, const int64_t str_len, if (OB_ISNULL(str) || OB_ISNULL(hex_str) || OB_UNLIKELY(hex_len <= str_len * 2)) { ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid argument", K(hex_str), K(hex_len), K(str), K(str_len), K(ret)); } else { for (int64_t i = 0; OB_SUCC(ret) && i < str_len; ++i) { if (OB_UNLIKELY(-1 == sprintf(hex_str, "%.2x", static_cast(str[i])))) { @@ -147,7 +114,8 @@ int ObBlowFish::covert_string_to_hex(const char *str, const int64_t str_len, } int ObBlowFish::convert_large_str_to_hex(const char *str, const int64_t str_len, - char *hex_str, const int64_t hex_len, int64_t &hex_str_len) + char *hex_str, const int64_t hex_len, + int64_t &hex_str_len) { int ret = OB_SUCCESS; UNUSED(hex_len); @@ -155,7 +123,8 @@ int ObBlowFish::convert_large_str_to_hex(const char *str, const int64_t str_len, const char *last_minus_pos = NULL; bool is_negative = false; while (cursor != str + str_len) { - cursor = static_cast(memchr(reinterpret_cast(cursor), '-', static_cast(str_len - (cursor - str)))); + cursor = static_cast(memchr(reinterpret_cast(cursor), '-', + static_cast(str_len - (cursor - str)))); if (NULL != cursor) { last_minus_pos = cursor; ++cursor; @@ -165,6 +134,7 @@ int ObBlowFish::convert_large_str_to_hex(const char *str, const int64_t str_len, } if (NULL != last_minus_pos && last_minus_pos != str) { ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid argument", K(str), K(last_minus_pos), K(ret)); } else { if (NULL == last_minus_pos) { cursor = str; @@ -235,7 +205,8 @@ int ObBlowFish::convert_large_str_to_hex(const char *str, const int64_t str_len, return ret; } -void ObBlowFish::destructive_multi_add(int64_t *x, const int64_t int_num, int64_t y, int64_t z) +void ObBlowFish::destructive_multi_add(int64_t *x, const int64_t int_num, + int64_t y, int64_t z) { int64_t ylong = y & 0xffffffffL; int64_t zlong = z & 0xffffffffL; @@ -294,7 +265,8 @@ int ObBlowFish::get_bit_count(int var) return var & 255; } -int ObBlowFish::get_bit_len(int64_t *mag, int64_t start_idx, int64_t int_num, const bool is_negative) +int ObBlowFish::get_bit_len(int64_t *mag, int64_t start_idx, + int64_t int_num, const bool is_negative) { int ret = -1; int mag_len = static_cast(int_num - start_idx); @@ -314,5 +286,67 @@ int ObBlowFish::get_bit_len(int64_t *mag, int64_t start_idx, int64_t int_num, co return ret; } +int ObBlowFish::encode(char *in, const int64_t in_len, char *out, const int64_t out_len) +{ + int ret = OB_SUCCESS; + if (OB_ISNULL(in) || OB_ISNULL(out)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid argument", K(in), K(out), K(in_len), K(out_len), K(ret)); + } else { + char tmp_out[OB_MAX_PASSWORD_LENGTH]; + memset(tmp_out, 0, sizeof(tmp_out)); + int64_t in_str_len = strlen(in); + int64_t padding_len = BF_BLOCK - in_str_len % BF_BLOCK; + if (OB_UNLIKELY(in_str_len + padding_len >= in_len)) { + ret = OB_SIZE_OVERFLOW; + LOG_WARN("in buffer size is not enough", K(padding_len), K(in), K(in_len), K(ret)); + } else { + for (int64_t i = in_str_len; i < in_str_len + padding_len; ++i) { + in[i] = static_cast(padding_len); + } + if (OB_FAIL(do_bf_ecb_encrypt(reinterpret_cast(in), + in_str_len + padding_len, + reinterpret_cast(tmp_out), + OB_MAX_PASSWORD_LENGTH, BF_ENCRYPT))) { + LOG_WARN("fail to do bf ecb encrypt", K(in), K(padding_len), K(ret)); + } else if (OB_FAIL(covert_string_to_hex(tmp_out, strlen(tmp_out), out, out_len))) { + LOG_WARN("fail to convert str to hex", K(ret)); + } + } + } + return ret; +} + +int ObBlowFish::decode(const char *in, const int64_t in_str_len, char *out, const int64_t out_len) +{ + int ret = OB_SUCCESS; + if (OB_ISNULL(in) || OB_ISNULL(out)) { + ret = OB_INVALID_ARGUMENT; + LOG_WARN("invalid argument", K(in), K(out), K(in_str_len), K(out_len), K(ret)); + } else { + char tmp_out[OB_MAX_PASSWORD_LENGTH]; + memset(tmp_out, 0, sizeof(tmp_out)); + int64_t tmp_out_len = 0; + if (OB_FAIL(convert_large_str_to_hex(in, in_str_len, tmp_out, + OB_MAX_PASSWORD_LENGTH, tmp_out_len))) { + LOG_WARN("failt to convert large str to hex", K(in), K(in_str_len), K(ret)); + } else if (OB_FAIL(do_bf_ecb_encrypt(reinterpret_cast(tmp_out), + tmp_out_len, + reinterpret_cast(out), + out_len, BF_DECRYPT))) { + LOG_WARN("fail to do bf ecn encrypt", K(ret)); + } else { + // trim padding number + int64_t result_len = strlen(out); + if (out[result_len - 1] >= 1 && out[result_len - 1] <= 8) { + int64_t padding_len = out[result_len - 1]; + result_len = result_len - padding_len; + memset(out + result_len, 0, padding_len); + } + } + } + return ret; +} + } // end namespace obproxy } // end namespace oceanbase diff --git a/src/obproxy/utils/ob_proxy_lib.h b/src/obproxy/utils/ob_proxy_lib.h index 932f3efc78faca69c00019d522b40a730a62dbaf..3e8ccf8b00971e92e6f1630f8405ac5d62ac3a95 100644 --- a/src/obproxy/utils/ob_proxy_lib.h +++ b/src/obproxy/utils/ob_proxy_lib.h @@ -112,21 +112,21 @@ typedef unsigned int in_addr_t; #include "utils/ob_proxy_xflush_def.h" -static const char *const OB_PROXYSYS_TENANT_NAME = "proxysys"; -static const char *const OB_PROXYSYS_USER_NAME = "root"; -static const char *const OB_INSPECTOR_USER_NAME = "inspector"; +static const char *const OB_PROXYSYS_TENANT_NAME = "proxysys"; +static const char *const OB_PROXYSYS_USER_NAME = "root"; +static const char *const OB_INSPECTOR_USER_NAME = "inspector"; //default cluster name -static const char *const OB_META_DB_CLUSTER_NAME = "MetaDataBase"; +static const char *const OB_META_DB_CLUSTER_NAME = "MetaDataBase"; static const char *const OB_PROXY_DEFAULT_CLUSTER_NAME = "obcloud"; //dbp runtime env -static const char *const OB_PROXY_DBP_RUNTIME_ENV = "dbpcloud"; +static const char *const OB_PROXY_DBP_RUNTIME_ENV = "dbpcloud"; -static const int64_t OB_DEFAULT_CLUSTER_ID = 0; +static const int64_t OB_DEFAULT_CLUSTER_ID = 0; //const size for proxy -static const int64_t OB_PROXY_CONFIG_BUFFER_SIZE = 16 * 1024; +static const int64_t OB_PROXY_CONFIG_BUFFER_SIZE = 16 * 1024; enum ObContMagic { OB_CONT_MAGIC_ALIVE = 0xAABBCCDD, @@ -134,35 +134,35 @@ enum ObContMagic }; // DbMesh -static const int64_t OBPROXY_MAX_DBMESH_ID = INT64_MAX; -static const int64_t OBPROXY_MAX_DISASTER_STATUS_LENGTH = 8; // REMOTE|LOCAL -static const int64_t OBPROXY_MAX_TNT_ID_LENGTH = 128; +static const int64_t OBPROXY_MAX_DBMESH_ID = INT64_MAX; +static const int64_t OBPROXY_MAX_DISASTER_STATUS_LENGTH = 8; // REMOTE|LOCAL +static const int64_t OBPROXY_MAX_TNT_ID_LENGTH = 128; -static const int64_t OB_PROXY_MAX_CLUSTER_NAME_LENGTH = 256; -static const int64_t OB_PROXY_FULL_USER_NAME_MAX_LEN = oceanbase::common::OB_MYSQL_FULL_USER_NAME_MAX_LEN + OB_PROXY_MAX_CLUSTER_NAME_LENGTH;//username@tenantname#clustername +static const int64_t OB_PROXY_MAX_CLUSTER_NAME_LENGTH = 256; +static const int64_t OB_PROXY_FULL_USER_NAME_MAX_LEN = oceanbase::common::OB_MYSQL_FULL_USER_NAME_MAX_LEN + OB_PROXY_MAX_CLUSTER_NAME_LENGTH;//username@tenantname#clustername -static const int64_t OB_PROXY_CLUSTER_RESOURCE_ITEM_COUNT = 12; -static const int64_t OB_PROXY_MAX_IDC_NAME_LENGTH = oceanbase::common::MAX_ZONE_LENGTH; +static const int64_t OB_PROXY_CLUSTER_RESOURCE_ITEM_COUNT = 12; +static const int64_t OB_PROXY_MAX_IDC_NAME_LENGTH = oceanbase::common::MAX_ZONE_LENGTH; -static const int64_t OB_MAX_PROXY_BINARY_VERSION_LEN = 256; -static const int64_t OB_MAX_PROXY_INFO_LEN = 256; -static const int64_t OB_MAX_PROXY_HOT_UPGRADE_CMD_LEN = 64; -static const int64_t OB_MAX_PROXY_HOT_UPGRADE_STATUS_LEN = 64; -static const int64_t OB_MAX_UNAME_INFO_LEN = 512; +static const int64_t OB_MAX_PROXY_BINARY_VERSION_LEN = 256; +static const int64_t OB_MAX_PROXY_INFO_LEN = 256; +static const int64_t OB_MAX_PROXY_HOT_UPGRADE_CMD_LEN = 64; +static const int64_t OB_MAX_PROXY_HOT_UPGRADE_STATUS_LEN = 64; +static const int64_t OB_MAX_UNAME_INFO_LEN = 512; static const int64_t OB_MAX_PROXY_RELOAD_CONFIG_STATUS_LEN = 64; -static const int64_t OB_MAX_PROXY_MD5_LEN = 64; -static const int64_t OB_DEFAULT_PROXY_MD5_LEN = 32; +static const int64_t OB_MAX_PROXY_MD5_LEN = 64; +static const int64_t OB_DEFAULT_PROXY_MD5_LEN = 32; -const static int64_t PRINT_SQL_LEN = 1024; -const static int64_t PRINT_JSON_LEN = 16 * 1024; +const static int64_t PRINT_SQL_LEN = 1024; +const static int64_t PRINT_JSON_LEN = 16 * 1024; // Attention!! must confirm OB_NORMAL_MYSQL_CLIENT_COUNT >= OB_META_MYSQL_CLIENT_COUNT // or will dead lock -static const int64_t OB_META_MYSQL_CLIENT_COUNT = 2; -static const int64_t OB_NORMAL_MYSQL_CLIENT_COUNT = 4; +static const int64_t OB_META_MYSQL_CLIENT_COUNT = 2; +static const int64_t OB_NORMAL_MYSQL_CLIENT_COUNT = 4; -static const int64_t OB_PROXY_WARN_LOG_BUF_LENGTH = (1 << 20) * 1; -static const int64_t OB_PROXY_WARN_LOG_AVG_LENGTH = 512; +static const int64_t OB_PROXY_WARN_LOG_BUF_LENGTH = (1 << 20) * 1; +static const int64_t OB_PROXY_WARN_LOG_AVG_LENGTH = 512; // errno define #define OPS_START_ERRNO 20000 @@ -202,142 +202,142 @@ static const uint64_t OBPROXY_DEFAULT_CAPABILITY_FLAG = * /usr/include/asm-generic/errno-base.h * */ -static const int OB_SYS_EPERM = OBPROXY_SYS_ERRNO_START + -EPERM; // 1 Operation not permitted -static const int OB_SYS_ENOENT = OBPROXY_SYS_ERRNO_START + -ENOENT; // 2 No such file or directory -static const int OB_SYS_ESRCH = OBPROXY_SYS_ERRNO_START + -ESRCH; // 3 No such process -static const int OB_SYS_EINTR = OBPROXY_SYS_ERRNO_START + -EINTR; // 4 Interrupted system call -static const int OB_SYS_EIO = OBPROXY_SYS_ERRNO_START + -EIO; // 5 I/O error -static const int OB_SYS_ENXIO = OBPROXY_SYS_ERRNO_START + -ENXIO; // 6 No such device or address -static const int OB_SYS_E2BIG = OBPROXY_SYS_ERRNO_START + -E2BIG; // 7 Argument list too long -static const int OB_SYS_ENOEXEC = OBPROXY_SYS_ERRNO_START + -ENOEXEC; // 8 Exec format error -static const int OB_SYS_EBADF = OBPROXY_SYS_ERRNO_START + -EBADF; // 9 Bad file number -static const int OB_SYS_ECHILD = OBPROXY_SYS_ERRNO_START + -ECHILD; // 10 No child processes -static const int OB_SYS_EAGAIN = OBPROXY_SYS_ERRNO_START + -EAGAIN; // 11 Try again -static const int OB_SYS_ENOMEM = OBPROXY_SYS_ERRNO_START + -ENOMEM; // 12 Out of memory -static const int OB_SYS_EACCES = OBPROXY_SYS_ERRNO_START + -EACCES; // 13 Permission denied -static const int OB_SYS_EFAULT = OBPROXY_SYS_ERRNO_START + -EFAULT; // 14 Bad address -static const int OB_SYS_ENOTBLK = OBPROXY_SYS_ERRNO_START + -ENOTBLK; // 15 Block device required -static const int OB_SYS_EBUSY = OBPROXY_SYS_ERRNO_START + -EBUSY; // 16 Device or resource busy -static const int OB_SYS_EEXIST = OBPROXY_SYS_ERRNO_START + -EEXIST; // 17 File exists -static const int OB_SYS_EXDEV = OBPROXY_SYS_ERRNO_START + -EXDEV; // 18 Cross-device link -static const int OB_SYS_ENODEV = OBPROXY_SYS_ERRNO_START + -ENODEV; // 19 No such device -static const int OB_SYS_ENOTDIR = OBPROXY_SYS_ERRNO_START + -ENOTDIR; // 20 Not a directory -static const int OB_SYS_EISDIR = OBPROXY_SYS_ERRNO_START + -EISDIR; // 21 Is a directory -static const int OB_SYS_EINVAL = OBPROXY_SYS_ERRNO_START + -EINVAL; // 22 Invalid argument -static const int OB_SYS_ENFILE = OBPROXY_SYS_ERRNO_START + -ENFILE; // 23 File table overflow -static const int OB_SYS_EMFILE = OBPROXY_SYS_ERRNO_START + -EMFILE; // 24 Too many open files -static const int OB_SYS_ENOTTY = OBPROXY_SYS_ERRNO_START + -ENOTTY; // 25 Not a typewriter -static const int OB_SYS_ETXTBSY = OBPROXY_SYS_ERRNO_START + -ETXTBSY; // 26 Text file busy -static const int OB_SYS_EFBIG = OBPROXY_SYS_ERRNO_START + -EFBIG; // 27 File too large -static const int OB_SYS_ENOSPC = OBPROXY_SYS_ERRNO_START + -ENOSPC; // 28 No space left on device -static const int OB_SYS_ESPIPE = OBPROXY_SYS_ERRNO_START + -ESPIPE; // 29 Illegal seek -static const int OB_SYS_EROFS = OBPROXY_SYS_ERRNO_START + -EROFS; // 30 Read-only file system -static const int OB_SYS_EMLINK = OBPROXY_SYS_ERRNO_START + -EMLINK; // 31 Too many links -static const int OB_SYS_EPIPE = OBPROXY_SYS_ERRNO_START + -EPIPE; // 32 Broken pipe -static const int OB_SYS_EDOM = OBPROXY_SYS_ERRNO_START + -EDOM; // 33 Math argument out of domain of func -static const int OB_SYS_ERANGE = OBPROXY_SYS_ERRNO_START + -ERANGE; // 34 Math result not representable -static const int OB_SYS_EDEADLK = OBPROXY_SYS_ERRNO_START + -EDEADLK; // 35 Resource deadlock would occur -static const int OB_SYS_ENAMETOOLONG = OBPROXY_SYS_ERRNO_START + -ENAMETOOLONG; // 36 File name too long -static const int OB_SYS_ENOLCK = OBPROXY_SYS_ERRNO_START + -ENOLCK; // 37 No record locks available -static const int OB_SYS_ENOSYS = OBPROXY_SYS_ERRNO_START + -ENOSYS; // 38 Function not implemented -static const int OB_SYS_ENOTEMPTY = OBPROXY_SYS_ERRNO_START + -ENOTEMPTY; // 39 Directory not empty -static const int OB_SYS_ELOOP = OBPROXY_SYS_ERRNO_START + -ELOOP; // 40 Too many symbolic links encountered -static const int OB_SYS_EWOULDBLOCK = OBPROXY_SYS_ERRNO_START + -EWOULDBLOCK; // EAGAIN Operation would block -static const int OB_SYS_ENOMSG = OBPROXY_SYS_ERRNO_START + -ENOMSG; // 42 No message of desired type -static const int OB_SYS_EIDRM = OBPROXY_SYS_ERRNO_START + -EIDRM; // 43 Identifier removed -static const int OB_SYS_ECHRNG = OBPROXY_SYS_ERRNO_START + -ECHRNG; // 44 Channel number out of range -static const int OB_SYS_EL2NSYNC = OBPROXY_SYS_ERRNO_START + -EL2NSYNC; // 45 Level 2 not synchronized -static const int OB_SYS_EL3HLT = OBPROXY_SYS_ERRNO_START + -EL3HLT; // 46 Level 3 halted -static const int OB_SYS_EL3RST = OBPROXY_SYS_ERRNO_START + -EL3RST; // 47 Level 3 reset -static const int OB_SYS_ELNRNG = OBPROXY_SYS_ERRNO_START + -ELNRNG; // 48 Link number out of range -static const int OB_SYS_EUNATCH = OBPROXY_SYS_ERRNO_START + -EUNATCH; // 49 Protocol driver not attached -static const int OB_SYS_ENOCSI = OBPROXY_SYS_ERRNO_START + -ENOCSI; // 50 No CSI structure available -static const int OB_SYS_EL2HLT = OBPROXY_SYS_ERRNO_START + -EL2HLT; // 51 Level 2 halted -static const int OB_SYS_EBADE = OBPROXY_SYS_ERRNO_START + -EBADE; // 52 Invalid exchange -static const int OB_SYS_EBADR = OBPROXY_SYS_ERRNO_START + -EBADR; // 53 Invalid request descriptor -static const int OB_SYS_EXFULL = OBPROXY_SYS_ERRNO_START + -EXFULL; // 54 Exchange full -static const int OB_SYS_ENOANO = OBPROXY_SYS_ERRNO_START + -ENOANO; // 55 No anode -static const int OB_SYS_EBADRQC = OBPROXY_SYS_ERRNO_START + -EBADRQC; // 56 Invalid request code -static const int OB_SYS_EBADSLT = OBPROXY_SYS_ERRNO_START + -EBADSLT; // 57 Invalid slot -static const int OB_SYS_EDEADLOCK = OBPROXY_SYS_ERRNO_START + -EDEADLOCK; // EDEADLK -static const int OB_SYS_EBFONT = OBPROXY_SYS_ERRNO_START + -EBFONT; // 59 Bad font file format -static const int OB_SYS_ENOSTR = OBPROXY_SYS_ERRNO_START + -ENOSTR; // 60 Device not a stream -static const int OB_SYS_ENODATA = OBPROXY_SYS_ERRNO_START + -ENODATA; // 61 No data available -static const int OB_SYS_ETIME = OBPROXY_SYS_ERRNO_START + -ETIME; // 62 Timer expired -static const int OB_SYS_ENOSR = OBPROXY_SYS_ERRNO_START + -ENOSR; // 63 Out of streams resources -static const int OB_SYS_ENONET = OBPROXY_SYS_ERRNO_START + -ENONET; // 64 Machine is not on the network -static const int OB_SYS_ENOPKG = OBPROXY_SYS_ERRNO_START + -ENOPKG; // 65 Package not installed -static const int OB_SYS_EREMOTE = OBPROXY_SYS_ERRNO_START + -EREMOTE; // 66 Object is remote -static const int OB_SYS_ENOLINK = OBPROXY_SYS_ERRNO_START + -ENOLINK; // 67 Link has been severed -static const int OB_SYS_EADV = OBPROXY_SYS_ERRNO_START + -EADV; // 68 Advertise error -static const int OB_SYS_ESRMNT = OBPROXY_SYS_ERRNO_START + -ESRMNT; // 69 Srmount error -static const int OB_SYS_ECOMM = OBPROXY_SYS_ERRNO_START + -ECOMM; // 70 Communication error on send -static const int OB_SYS_EPROTO = OBPROXY_SYS_ERRNO_START + -EPROTO; // 71 Protocol error -static const int OB_SYS_EMULTIHOP = OBPROXY_SYS_ERRNO_START + -EMULTIHOP; // 72 Multihop attempted -static const int OB_SYS_EDOTDOT = OBPROXY_SYS_ERRNO_START + -EDOTDOT; // 73 RFS specific error -static const int OB_SYS_EBADMSG = OBPROXY_SYS_ERRNO_START + -EBADMSG; // 74 Not a data message -static const int OB_SYS_EOVERFLOW = OBPROXY_SYS_ERRNO_START + -EOVERFLOW; // 75 Value too large for defined data type -static const int OB_SYS_ENOTUNIQ = OBPROXY_SYS_ERRNO_START + -ENOTUNIQ; // 76 Name not unique on network -static const int OB_SYS_EBADFD = OBPROXY_SYS_ERRNO_START + -EBADFD; // 77 File descriptor in bad state -static const int OB_SYS_EREMCHG = OBPROXY_SYS_ERRNO_START + -EREMCHG; // 78 Remote address changed -static const int OB_SYS_ELIBACC = OBPROXY_SYS_ERRNO_START + -ELIBACC; // 79 Can not access a needed shared library -static const int OB_SYS_ELIBBAD = OBPROXY_SYS_ERRNO_START + -ELIBBAD; // 80 Accessing a corrupted shared library -static const int OB_SYS_ELIBSCN = OBPROXY_SYS_ERRNO_START + -ELIBSCN; // 81 .lib section in a.out corrupted -static const int OB_SYS_ELIBMAX = OBPROXY_SYS_ERRNO_START + -ELIBMAX; // 82 Attempting to link in too many shared libraries -static const int OB_SYS_ELIBEXEC = OBPROXY_SYS_ERRNO_START + -ELIBEXEC; // 83 Cannot exec a shared library directly -static const int OB_SYS_EILSEQ = OBPROXY_SYS_ERRNO_START + -EILSEQ; // 84 Illegal byte sequence -static const int OB_SYS_ERESTART = OBPROXY_SYS_ERRNO_START + -ERESTART; // 85 Interrupted system call should be restarted -static const int OB_SYS_ESTRPIPE = OBPROXY_SYS_ERRNO_START + -ESTRPIPE; // 86 Streams pipe error -static const int OB_SYS_EUSERS = OBPROXY_SYS_ERRNO_START + -EUSERS; // 87 Too many users -static const int OB_SYS_ENOTSOCK = OBPROXY_SYS_ERRNO_START + -ENOTSOCK; // 88 Socket operation on non-socket -static const int OB_SYS_EDESTADDRREQ = OBPROXY_SYS_ERRNO_START + -EDESTADDRREQ; // 89 Destination address required -static const int OB_SYS_EMSGSIZE = OBPROXY_SYS_ERRNO_START + -EMSGSIZE; // 90 Message too long -static const int OB_SYS_EPROTOTYPE = OBPROXY_SYS_ERRNO_START + -EPROTOTYPE; // 91 Protocol wrong type for socket -static const int OB_SYS_ENOPROTOOPT = OBPROXY_SYS_ERRNO_START + -ENOPROTOOPT; // 92 Protocol not available +static const int OB_SYS_EPERM = OBPROXY_SYS_ERRNO_START + -EPERM; // 1 Operation not permitted +static const int OB_SYS_ENOENT = OBPROXY_SYS_ERRNO_START + -ENOENT; // 2 No such file or directory +static const int OB_SYS_ESRCH = OBPROXY_SYS_ERRNO_START + -ESRCH; // 3 No such process +static const int OB_SYS_EINTR = OBPROXY_SYS_ERRNO_START + -EINTR; // 4 Interrupted system call +static const int OB_SYS_EIO = OBPROXY_SYS_ERRNO_START + -EIO; // 5 I/O error +static const int OB_SYS_ENXIO = OBPROXY_SYS_ERRNO_START + -ENXIO; // 6 No such device or address +static const int OB_SYS_E2BIG = OBPROXY_SYS_ERRNO_START + -E2BIG; // 7 Argument list too long +static const int OB_SYS_ENOEXEC = OBPROXY_SYS_ERRNO_START + -ENOEXEC; // 8 Exec format error +static const int OB_SYS_EBADF = OBPROXY_SYS_ERRNO_START + -EBADF; // 9 Bad file number +static const int OB_SYS_ECHILD = OBPROXY_SYS_ERRNO_START + -ECHILD; // 10 No child processes +static const int OB_SYS_EAGAIN = OBPROXY_SYS_ERRNO_START + -EAGAIN; // 11 Try again +static const int OB_SYS_ENOMEM = OBPROXY_SYS_ERRNO_START + -ENOMEM; // 12 Out of memory +static const int OB_SYS_EACCES = OBPROXY_SYS_ERRNO_START + -EACCES; // 13 Permission denied +static const int OB_SYS_EFAULT = OBPROXY_SYS_ERRNO_START + -EFAULT; // 14 Bad address +static const int OB_SYS_ENOTBLK = OBPROXY_SYS_ERRNO_START + -ENOTBLK; // 15 Block device required +static const int OB_SYS_EBUSY = OBPROXY_SYS_ERRNO_START + -EBUSY; // 16 Device or resource busy +static const int OB_SYS_EEXIST = OBPROXY_SYS_ERRNO_START + -EEXIST; // 17 File exists +static const int OB_SYS_EXDEV = OBPROXY_SYS_ERRNO_START + -EXDEV; // 18 Cross-device link +static const int OB_SYS_ENODEV = OBPROXY_SYS_ERRNO_START + -ENODEV; // 19 No such device +static const int OB_SYS_ENOTDIR = OBPROXY_SYS_ERRNO_START + -ENOTDIR; // 20 Not a directory +static const int OB_SYS_EISDIR = OBPROXY_SYS_ERRNO_START + -EISDIR; // 21 Is a directory +static const int OB_SYS_EINVAL = OBPROXY_SYS_ERRNO_START + -EINVAL; // 22 Invalid argument +static const int OB_SYS_ENFILE = OBPROXY_SYS_ERRNO_START + -ENFILE; // 23 File table overflow +static const int OB_SYS_EMFILE = OBPROXY_SYS_ERRNO_START + -EMFILE; // 24 Too many open files +static const int OB_SYS_ENOTTY = OBPROXY_SYS_ERRNO_START + -ENOTTY; // 25 Not a typewriter +static const int OB_SYS_ETXTBSY = OBPROXY_SYS_ERRNO_START + -ETXTBSY; // 26 Text file busy +static const int OB_SYS_EFBIG = OBPROXY_SYS_ERRNO_START + -EFBIG; // 27 File too large +static const int OB_SYS_ENOSPC = OBPROXY_SYS_ERRNO_START + -ENOSPC; // 28 No space left on device +static const int OB_SYS_ESPIPE = OBPROXY_SYS_ERRNO_START + -ESPIPE; // 29 Illegal seek +static const int OB_SYS_EROFS = OBPROXY_SYS_ERRNO_START + -EROFS; // 30 Read-only file system +static const int OB_SYS_EMLINK = OBPROXY_SYS_ERRNO_START + -EMLINK; // 31 Too many links +static const int OB_SYS_EPIPE = OBPROXY_SYS_ERRNO_START + -EPIPE; // 32 Broken pipe +static const int OB_SYS_EDOM = OBPROXY_SYS_ERRNO_START + -EDOM; // 33 Math argument out of domain of func +static const int OB_SYS_ERANGE = OBPROXY_SYS_ERRNO_START + -ERANGE; // 34 Math result not representable +static const int OB_SYS_EDEADLK = OBPROXY_SYS_ERRNO_START + -EDEADLK; // 35 Resource deadlock would occur +static const int OB_SYS_ENAMETOOLONG = OBPROXY_SYS_ERRNO_START + -ENAMETOOLONG; // 36 File name too long +static const int OB_SYS_ENOLCK = OBPROXY_SYS_ERRNO_START + -ENOLCK; // 37 No record locks available +static const int OB_SYS_ENOSYS = OBPROXY_SYS_ERRNO_START + -ENOSYS; // 38 Function not implemented +static const int OB_SYS_ENOTEMPTY = OBPROXY_SYS_ERRNO_START + -ENOTEMPTY; // 39 Directory not empty +static const int OB_SYS_ELOOP = OBPROXY_SYS_ERRNO_START + -ELOOP; // 40 Too many symbolic links encountered +static const int OB_SYS_EWOULDBLOCK = OBPROXY_SYS_ERRNO_START + -EWOULDBLOCK; // EAGAIN Operation would block +static const int OB_SYS_ENOMSG = OBPROXY_SYS_ERRNO_START + -ENOMSG; // 42 No message of desired type +static const int OB_SYS_EIDRM = OBPROXY_SYS_ERRNO_START + -EIDRM; // 43 Identifier removed +static const int OB_SYS_ECHRNG = OBPROXY_SYS_ERRNO_START + -ECHRNG; // 44 Channel number out of range +static const int OB_SYS_EL2NSYNC = OBPROXY_SYS_ERRNO_START + -EL2NSYNC; // 45 Level 2 not synchronized +static const int OB_SYS_EL3HLT = OBPROXY_SYS_ERRNO_START + -EL3HLT; // 46 Level 3 halted +static const int OB_SYS_EL3RST = OBPROXY_SYS_ERRNO_START + -EL3RST; // 47 Level 3 reset +static const int OB_SYS_ELNRNG = OBPROXY_SYS_ERRNO_START + -ELNRNG; // 48 Link number out of range +static const int OB_SYS_EUNATCH = OBPROXY_SYS_ERRNO_START + -EUNATCH; // 49 Protocol driver not attached +static const int OB_SYS_ENOCSI = OBPROXY_SYS_ERRNO_START + -ENOCSI; // 50 No CSI structure available +static const int OB_SYS_EL2HLT = OBPROXY_SYS_ERRNO_START + -EL2HLT; // 51 Level 2 halted +static const int OB_SYS_EBADE = OBPROXY_SYS_ERRNO_START + -EBADE; // 52 Invalid exchange +static const int OB_SYS_EBADR = OBPROXY_SYS_ERRNO_START + -EBADR; // 53 Invalid request descriptor +static const int OB_SYS_EXFULL = OBPROXY_SYS_ERRNO_START + -EXFULL; // 54 Exchange full +static const int OB_SYS_ENOANO = OBPROXY_SYS_ERRNO_START + -ENOANO; // 55 No anode +static const int OB_SYS_EBADRQC = OBPROXY_SYS_ERRNO_START + -EBADRQC; // 56 Invalid request code +static const int OB_SYS_EBADSLT = OBPROXY_SYS_ERRNO_START + -EBADSLT; // 57 Invalid slot +static const int OB_SYS_EDEADLOCK = OBPROXY_SYS_ERRNO_START + -EDEADLOCK; // EDEADLK +static const int OB_SYS_EBFONT = OBPROXY_SYS_ERRNO_START + -EBFONT; // 59 Bad font file format +static const int OB_SYS_ENOSTR = OBPROXY_SYS_ERRNO_START + -ENOSTR; // 60 Device not a stream +static const int OB_SYS_ENODATA = OBPROXY_SYS_ERRNO_START + -ENODATA; // 61 No data available +static const int OB_SYS_ETIME = OBPROXY_SYS_ERRNO_START + -ETIME; // 62 Timer expired +static const int OB_SYS_ENOSR = OBPROXY_SYS_ERRNO_START + -ENOSR; // 63 Out of streams resources +static const int OB_SYS_ENONET = OBPROXY_SYS_ERRNO_START + -ENONET; // 64 Machine is not on the network +static const int OB_SYS_ENOPKG = OBPROXY_SYS_ERRNO_START + -ENOPKG; // 65 Package not installed +static const int OB_SYS_EREMOTE = OBPROXY_SYS_ERRNO_START + -EREMOTE; // 66 Object is remote +static const int OB_SYS_ENOLINK = OBPROXY_SYS_ERRNO_START + -ENOLINK; // 67 Link has been severed +static const int OB_SYS_EADV = OBPROXY_SYS_ERRNO_START + -EADV; // 68 Advertise error +static const int OB_SYS_ESRMNT = OBPROXY_SYS_ERRNO_START + -ESRMNT; // 69 Srmount error +static const int OB_SYS_ECOMM = OBPROXY_SYS_ERRNO_START + -ECOMM; // 70 Communication error on send +static const int OB_SYS_EPROTO = OBPROXY_SYS_ERRNO_START + -EPROTO; // 71 Protocol error +static const int OB_SYS_EMULTIHOP = OBPROXY_SYS_ERRNO_START + -EMULTIHOP; // 72 Multihop attempted +static const int OB_SYS_EDOTDOT = OBPROXY_SYS_ERRNO_START + -EDOTDOT; // 73 RFS specific error +static const int OB_SYS_EBADMSG = OBPROXY_SYS_ERRNO_START + -EBADMSG; // 74 Not a data message +static const int OB_SYS_EOVERFLOW = OBPROXY_SYS_ERRNO_START + -EOVERFLOW; // 75 Value too large for defined data type +static const int OB_SYS_ENOTUNIQ = OBPROXY_SYS_ERRNO_START + -ENOTUNIQ; // 76 Name not unique on network +static const int OB_SYS_EBADFD = OBPROXY_SYS_ERRNO_START + -EBADFD; // 77 File descriptor in bad state +static const int OB_SYS_EREMCHG = OBPROXY_SYS_ERRNO_START + -EREMCHG; // 78 Remote address changed +static const int OB_SYS_ELIBACC = OBPROXY_SYS_ERRNO_START + -ELIBACC; // 79 Can not access a needed shared library +static const int OB_SYS_ELIBBAD = OBPROXY_SYS_ERRNO_START + -ELIBBAD; // 80 Accessing a corrupted shared library +static const int OB_SYS_ELIBSCN = OBPROXY_SYS_ERRNO_START + -ELIBSCN; // 81 .lib section in a.out corrupted +static const int OB_SYS_ELIBMAX = OBPROXY_SYS_ERRNO_START + -ELIBMAX; // 82 Attempting to link in too many shared libraries +static const int OB_SYS_ELIBEXEC = OBPROXY_SYS_ERRNO_START + -ELIBEXEC; // 83 Cannot exec a shared library directly +static const int OB_SYS_EILSEQ = OBPROXY_SYS_ERRNO_START + -EILSEQ; // 84 Illegal byte sequence +static const int OB_SYS_ERESTART = OBPROXY_SYS_ERRNO_START + -ERESTART; // 85 Interrupted system call should be restarted +static const int OB_SYS_ESTRPIPE = OBPROXY_SYS_ERRNO_START + -ESTRPIPE; // 86 Streams pipe error +static const int OB_SYS_EUSERS = OBPROXY_SYS_ERRNO_START + -EUSERS; // 87 Too many users +static const int OB_SYS_ENOTSOCK = OBPROXY_SYS_ERRNO_START + -ENOTSOCK; // 88 Socket operation on non-socket +static const int OB_SYS_EDESTADDRREQ = OBPROXY_SYS_ERRNO_START + -EDESTADDRREQ; // 89 Destination address required +static const int OB_SYS_EMSGSIZE = OBPROXY_SYS_ERRNO_START + -EMSGSIZE; // 90 Message too long +static const int OB_SYS_EPROTOTYPE = OBPROXY_SYS_ERRNO_START + -EPROTOTYPE; // 91 Protocol wrong type for socket +static const int OB_SYS_ENOPROTOOPT = OBPROXY_SYS_ERRNO_START + -ENOPROTOOPT; // 92 Protocol not available static const int OB_SYS_EPROTONOSUPPORT = OBPROXY_SYS_ERRNO_START + -EPROTONOSUPPORT; // 93 Protocol not supported static const int OB_SYS_ESOCKTNOSUPPORT = OBPROXY_SYS_ERRNO_START + -ESOCKTNOSUPPORT; // 94 Socket type not supported -static const int OB_SYS_EOPNOTSUPP = OBPROXY_SYS_ERRNO_START + -EOPNOTSUPP; // 95 Operation not supported on transport endpoint -static const int OB_SYS_EPFNOSUPPORT = OBPROXY_SYS_ERRNO_START + -EPFNOSUPPORT; // 96 Protocol family not supported -static const int OB_SYS_EAFNOSUPPORT = OBPROXY_SYS_ERRNO_START + -EAFNOSUPPORT; // 97 Address family not supported by protocol -static const int OB_SYS_EADDRINUSE = OBPROXY_SYS_ERRNO_START + -EADDRINUSE; // 98 Address already in use -static const int OB_SYS_EADDRNOTAVAIL = OBPROXY_SYS_ERRNO_START + -EADDRNOTAVAIL; // 99 Cannot assign requested address -static const int OB_SYS_ENETDOWN = OBPROXY_SYS_ERRNO_START + -ENETDOWN; // 100 Network is down -static const int OB_SYS_ENETUNREACH = OBPROXY_SYS_ERRNO_START + -ENETUNREACH; // 101 Network is unreachable -static const int OB_SYS_ENETRESET = OBPROXY_SYS_ERRNO_START + -ENETRESET; // 102 Network dropped connection because of reset -static const int OB_SYS_ECONNABORTED = OBPROXY_SYS_ERRNO_START + -ECONNABORTED; // 103 Software caused connection abort -static const int OB_SYS_ECONNRESET = OBPROXY_SYS_ERRNO_START + -ECONNRESET; // 104 Connection reset by peer -static const int OB_SYS_ENOBUFS = OBPROXY_SYS_ERRNO_START + -ENOBUFS; // 105 No buffer space available -static const int OB_SYS_EISCONN = OBPROXY_SYS_ERRNO_START + -EISCONN; // 106 Transport endpoint is already connected -static const int OB_SYS_ENOTCONN = OBPROXY_SYS_ERRNO_START + -ENOTCONN; // 107 Transport endpoint is not connected -static const int OB_SYS_ESHUTDOWN = OBPROXY_SYS_ERRNO_START + -ESHUTDOWN; // 108 Cannot send after transport endpoint shutdown -static const int OB_SYS_ETOOMANYREFS = OBPROXY_SYS_ERRNO_START + -ETOOMANYREFS; // 109 Too many references: cannot splice -static const int OB_SYS_ETIMEDOUT = OBPROXY_SYS_ERRNO_START + -ETIMEDOUT; // 110 Connection timed out -static const int OB_SYS_ECONNREFUSED = OBPROXY_SYS_ERRNO_START + -ECONNREFUSED; // 111 Connection refused -static const int OB_SYS_EHOSTDOWN = OBPROXY_SYS_ERRNO_START + -EHOSTDOWN; // 112 Host is down -static const int OB_SYS_EHOSTUNREACH = OBPROXY_SYS_ERRNO_START + -EHOSTUNREACH; // 113 No route to host -static const int OB_SYS_EALREADY = OBPROXY_SYS_ERRNO_START + -EALREADY; // 114 Operation already in progress -static const int OB_SYS_EINPROGRESS = OBPROXY_SYS_ERRNO_START + -EINPROGRESS; // 115 Operation now in progress -static const int OB_SYS_ESTALE = OBPROXY_SYS_ERRNO_START + -ESTALE; // 116 Stale NFS file handle -static const int OB_SYS_EUCLEAN = OBPROXY_SYS_ERRNO_START + -EUCLEAN; // 117 Structure needs cleaning -static const int OB_SYS_ENOTNAM = OBPROXY_SYS_ERRNO_START + -ENOTNAM; // 118 Not a XENIX named type file -static const int OB_SYS_ENAVAIL = OBPROXY_SYS_ERRNO_START + -ENAVAIL; // 119 No XENIX semaphores available -static const int OB_SYS_EISNAM = OBPROXY_SYS_ERRNO_START + -EISNAM; // 120 Is a named type file -static const int OB_SYS_EREMOTEIO = OBPROXY_SYS_ERRNO_START + -EREMOTEIO; // 121 Remote I/O error -static const int OB_SYS_EDQUOT = OBPROXY_SYS_ERRNO_START + -EDQUOT; // 122 Quota exceeded -static const int OB_SYS_ENOMEDIUM = OBPROXY_SYS_ERRNO_START + -ENOMEDIUM; // 123 No medium found -static const int OB_SYS_EMEDIUMTYPE = OBPROXY_SYS_ERRNO_START + -EMEDIUMTYPE; // 124 Wrong medium type -static const int OB_SYS_ECANCELED = OBPROXY_SYS_ERRNO_START + -ECANCELED; // 125 Operation Canceled -static const int OB_SYS_ENOKEY = OBPROXY_SYS_ERRNO_START + -ENOKEY; // 126 Required key not available -static const int OB_SYS_EKEYEXPIRED = OBPROXY_SYS_ERRNO_START + -EKEYEXPIRED; // 127 Key has expired -static const int OB_SYS_EKEYREVOKED = OBPROXY_SYS_ERRNO_START + -EKEYREVOKED; // 128 Key has been revoked -static const int OB_SYS_EKEYREJECTED = OBPROXY_SYS_ERRNO_START + -EKEYREJECTED; // 129 Key was rejected by service -static const int OB_SYS_EOWNERDEAD = OBPROXY_SYS_ERRNO_START + -EOWNERDEAD; // 130 Owner died +static const int OB_SYS_EOPNOTSUPP = OBPROXY_SYS_ERRNO_START + -EOPNOTSUPP; // 95 Operation not supported on transport endpoint +static const int OB_SYS_EPFNOSUPPORT = OBPROXY_SYS_ERRNO_START + -EPFNOSUPPORT; // 96 Protocol family not supported +static const int OB_SYS_EAFNOSUPPORT = OBPROXY_SYS_ERRNO_START + -EAFNOSUPPORT; // 97 Address family not supported by protocol +static const int OB_SYS_EADDRINUSE = OBPROXY_SYS_ERRNO_START + -EADDRINUSE; // 98 Address already in use +static const int OB_SYS_EADDRNOTAVAIL = OBPROXY_SYS_ERRNO_START + -EADDRNOTAVAIL; // 99 Cannot assign requested address +static const int OB_SYS_ENETDOWN = OBPROXY_SYS_ERRNO_START + -ENETDOWN; // 100 Network is down +static const int OB_SYS_ENETUNREACH = OBPROXY_SYS_ERRNO_START + -ENETUNREACH; // 101 Network is unreachable +static const int OB_SYS_ENETRESET = OBPROXY_SYS_ERRNO_START + -ENETRESET; // 102 Network dropped connection because of reset +static const int OB_SYS_ECONNABORTED = OBPROXY_SYS_ERRNO_START + -ECONNABORTED; // 103 Software caused connection abort +static const int OB_SYS_ECONNRESET = OBPROXY_SYS_ERRNO_START + -ECONNRESET; // 104 Connection reset by peer +static const int OB_SYS_ENOBUFS = OBPROXY_SYS_ERRNO_START + -ENOBUFS; // 105 No buffer space available +static const int OB_SYS_EISCONN = OBPROXY_SYS_ERRNO_START + -EISCONN; // 106 Transport endpoint is already connected +static const int OB_SYS_ENOTCONN = OBPROXY_SYS_ERRNO_START + -ENOTCONN; // 107 Transport endpoint is not connected +static const int OB_SYS_ESHUTDOWN = OBPROXY_SYS_ERRNO_START + -ESHUTDOWN; // 108 Cannot send after transport endpoint shutdown +static const int OB_SYS_ETOOMANYREFS = OBPROXY_SYS_ERRNO_START + -ETOOMANYREFS; // 109 Too many references: cannot splice +static const int OB_SYS_ETIMEDOUT = OBPROXY_SYS_ERRNO_START + -ETIMEDOUT; // 110 Connection timed out +static const int OB_SYS_ECONNREFUSED = OBPROXY_SYS_ERRNO_START + -ECONNREFUSED; // 111 Connection refused +static const int OB_SYS_EHOSTDOWN = OBPROXY_SYS_ERRNO_START + -EHOSTDOWN; // 112 Host is down +static const int OB_SYS_EHOSTUNREACH = OBPROXY_SYS_ERRNO_START + -EHOSTUNREACH; // 113 No route to host +static const int OB_SYS_EALREADY = OBPROXY_SYS_ERRNO_START + -EALREADY; // 114 Operation already in progress +static const int OB_SYS_EINPROGRESS = OBPROXY_SYS_ERRNO_START + -EINPROGRESS; // 115 Operation now in progress +static const int OB_SYS_ESTALE = OBPROXY_SYS_ERRNO_START + -ESTALE; // 116 Stale NFS file handle +static const int OB_SYS_EUCLEAN = OBPROXY_SYS_ERRNO_START + -EUCLEAN; // 117 Structure needs cleaning +static const int OB_SYS_ENOTNAM = OBPROXY_SYS_ERRNO_START + -ENOTNAM; // 118 Not a XENIX named type file +static const int OB_SYS_ENAVAIL = OBPROXY_SYS_ERRNO_START + -ENAVAIL; // 119 No XENIX semaphores available +static const int OB_SYS_EISNAM = OBPROXY_SYS_ERRNO_START + -EISNAM; // 120 Is a named type file +static const int OB_SYS_EREMOTEIO = OBPROXY_SYS_ERRNO_START + -EREMOTEIO; // 121 Remote I/O error +static const int OB_SYS_EDQUOT = OBPROXY_SYS_ERRNO_START + -EDQUOT; // 122 Quota exceeded +static const int OB_SYS_ENOMEDIUM = OBPROXY_SYS_ERRNO_START + -ENOMEDIUM; // 123 No medium found +static const int OB_SYS_EMEDIUMTYPE = OBPROXY_SYS_ERRNO_START + -EMEDIUMTYPE; // 124 Wrong medium type +static const int OB_SYS_ECANCELED = OBPROXY_SYS_ERRNO_START + -ECANCELED; // 125 Operation Canceled +static const int OB_SYS_ENOKEY = OBPROXY_SYS_ERRNO_START + -ENOKEY; // 126 Required key not available +static const int OB_SYS_EKEYEXPIRED = OBPROXY_SYS_ERRNO_START + -EKEYEXPIRED; // 127 Key has expired +static const int OB_SYS_EKEYREVOKED = OBPROXY_SYS_ERRNO_START + -EKEYREVOKED; // 128 Key has been revoked +static const int OB_SYS_EKEYREJECTED = OBPROXY_SYS_ERRNO_START + -EKEYREJECTED; // 129 Key was rejected by service +static const int OB_SYS_EOWNERDEAD = OBPROXY_SYS_ERRNO_START + -EOWNERDEAD; // 130 Owner died static const int OB_SYS_ENOTRECOVERABLE = OBPROXY_SYS_ERRNO_START + -ENOTRECOVERABLE; // 131 State not recoverable -static const int OB_SYS_ERFKILL = OBPROXY_SYS_ERRNO_START + -ERFKILL; // 132 Operation not possible due to RF-kill +static const int OB_SYS_ERFKILL = OBPROXY_SYS_ERRNO_START + -ERFKILL; // 132 Operation not possible due to RF-kill //In the Linux 5u system does not define the EHWPOISON error code -//static const int OB_SYS_EHWPOISON = OBPROXY_SYS_ERRNO_START + -EHWPOISON; // 133 Memory page has hardware error -static const int OB_SYS_EHWPOISON = OBPROXY_SYS_ERRNO_START + -133; // 133 Memory page has hardware error +//static const int OB_SYS_EHWPOISON = OBPROXY_SYS_ERRNO_START + -EHWPOISON; // 133 Memory page has hardware error +static const int OB_SYS_EHWPOISON = OBPROXY_SYS_ERRNO_START + -133; // 133 Memory page has hardware error inline int32_t ob_get_sys_errno(int err_code) { diff --git a/src/obproxy/utils/ob_proxy_table_define.cpp b/src/obproxy/utils/ob_proxy_table_define.cpp index ef3d22c2c1bd66d5b1f3ba94f182135c40725388..e98d559c0726234248150f5d6eed9f5c9ecab23f 100644 --- a/src/obproxy/utils/ob_proxy_table_define.cpp +++ b/src/obproxy/utils/ob_proxy_table_define.cpp @@ -19,7 +19,7 @@ namespace oceanbase { namespace obproxy { -const char *ObProxyTableInfo::CREATE_PROXY_TABLE_SQL = +const char *ObProxyTableInfo::CREATE_PROXY_TABLE_SQL = "CREATE TABLE IF NOT EXISTS %s ( \n" " proxy_ip varchar(%ld),\n" " proxy_port bigint, \n" @@ -43,7 +43,7 @@ const char *ObProxyTableInfo::CREATE_PROXY_TABLE_SQL = " PRIMARY KEY(proxy_ip, proxy_port) \n" ");\n"; -const char *ObProxyTableInfo:: CREATE_PROXY_CONFIG_TABLE_SQL = +const char *ObProxyTableInfo:: CREATE_PROXY_CONFIG_TABLE_SQL = "CREATE TABLE IF NOT EXISTS %s (\n" " app_name varchar(%ld), \n" " name varchar(%ld), \n" @@ -53,7 +53,7 @@ const char *ObProxyTableInfo:: CREATE_PROXY_CONFIG_TABLE_SQL = " PRIMARY KEY(app_name, name) \n" ");\n"; -const char *ObProxyTableInfo::CREATE_PROXY_STAT_TABLE_SQL = +const char *ObProxyTableInfo::CREATE_PROXY_STAT_TABLE_SQL = "CREATE TABLE IF NOT EXISTS %s ( \n" " cluster_name varchar(%ld), \n" " proxy_ip varchar(%ld), \n" @@ -66,7 +66,7 @@ const char *ObProxyTableInfo::CREATE_PROXY_STAT_TABLE_SQL = " PRIMARY KEY(cluster_name, proxy_ip, proxy_port, session_id, stat_name)" ");\n"; -const char *ObProxyTableInfo::CREATE_PROXY_KV_TABLE_SQL = +const char *ObProxyTableInfo::CREATE_PROXY_KV_TABLE_SQL = "CREATE TABLE IF NOT EXISTS %s (\n" " name varchar(%ld), \n" " datatype bigint, \n" @@ -75,7 +75,7 @@ const char *ObProxyTableInfo::CREATE_PROXY_KV_TABLE_SQL = " PRIMARY KEY(name) \n" ");\n"; -const char *ObProxyTableInfo::CREATE_PROXY_VIP_TENANT_TABLE_SQL = +const char *ObProxyTableInfo::CREATE_PROXY_VIP_TENANT_TABLE_SQL = "CREATE TABLE IF NOT EXISTS %s ( \n" " vid bigint DEFAULT 0, \n" " vip varchar(%ld), \n" @@ -86,29 +86,28 @@ const char *ObProxyTableInfo::CREATE_PROXY_VIP_TENANT_TABLE_SQL = " PRIMARY KEY(vid, vip, vport) \n" ");\n"; -const char *ObProxyTableInfo::PROXY_INFO_TABLE_NAME = "ob_all_proxy"; -const char *ObProxyTableInfo::PROXY_CONFIG_TABLE_NAME = "ob_all_proxy_app_config"; -const char *ObProxyTableInfo::PROXY_STAT_TABLE_NAME = "ob_all_proxy_stat"; -const char *ObProxyTableInfo::PROXY_KV_TABLE_NAME = "ob_all_proxy_kv_table"; -const char *ObProxyTableInfo::PROXY_VIP_TENANT_TABLE_NAME = "ob_all_proxy_vip_tenant"; +const char *ObProxyTableInfo::PROXY_INFO_TABLE_NAME = "ob_all_proxy"; +const char *ObProxyTableInfo::PROXY_CONFIG_TABLE_NAME = "ob_all_proxy_app_config"; +const char *ObProxyTableInfo::PROXY_STAT_TABLE_NAME = "ob_all_proxy_stat"; +const char *ObProxyTableInfo::PROXY_KV_TABLE_NAME = "ob_all_proxy_kv_table"; +const char *ObProxyTableInfo::PROXY_VIP_TENANT_TABLE_NAME = "ob_all_proxy_vip_tenant"; -const char *ObProxyTableInfo::PROXY_VIP_TENANT_VERSION_NAME = "ob_proxy_vip_tenant_version"; +const char *ObProxyTableInfo::PROXY_VIP_TENANT_VERSION_NAME = "ob_proxy_vip_tenant_version"; -const char *ObProxyTableInfo::READ_ONLY_USERNAME_USER = "proxyro"; // do not modify -const char *ObProxyTableInfo::READ_ONLY_USERNAME = "proxyro@sys"; // do not modify -const char *ObProxyTableInfo::READ_ONLY_DATABASE = "oceanbase"; // do not modify -const char *ObProxyTableInfo::READ_ONLY_PASSWD_STAGED1 = "ee0e5138c912aed80b683c05303684be347ce81d"; // do not modify +const char *ObProxyTableInfo::READ_ONLY_USERNAME_USER = "proxyro"; +const char *ObProxyTableInfo::READ_ONLY_USERNAME = "proxyro@sys"; +const char *ObProxyTableInfo::READ_ONLY_DATABASE = "oceanbase"; -const char *ObProxyTableInfo::TEST_MODE_USERNAME = "root@sys"; -const char *ObProxyTableInfo::TEST_MODE_PASSWORD = ""; -const char *ObProxyTableInfo::TEST_MODE_DATABASE = "oceanbase"; +const char *ObProxyTableInfo::TEST_MODE_USERNAME = "root@sys"; +const char *ObProxyTableInfo::TEST_MODE_PASSWORD = ""; +const char *ObProxyTableInfo::TEST_MODE_DATABASE = "oceanbase"; -const ObString ObProxyTableInfo::PROXY_ALL_PROXY_HEADER = ObString::make_string("all_proxy"); -const ObString ObProxyTableInfo::PROXY_CONFIG_VERSION_NAME = ObString::make_string(".config_version"); -const ObString ObProxyTableInfo::PROXY_UPGRADE_SWITCH_NAME = ObString::make_string(".upgrade_switch"); -const ObString ObProxyTableInfo::PROXY_UPGRADE_START_TIME_NAME = ObString::make_string(".upgrade_start_time"); -const ObString ObProxyTableInfo::PROXY_UPGRADE_DURATION_MINUTES_NAME = ObString::make_string(".upgrade_duration_minutes"); +const ObString ObProxyTableInfo::PROXY_ALL_PROXY_HEADER = ObString::make_string("all_proxy"); +const ObString ObProxyTableInfo::PROXY_CONFIG_VERSION_NAME = ObString::make_string(".config_version"); +const ObString ObProxyTableInfo::PROXY_UPGRADE_SWITCH_NAME = ObString::make_string(".upgrade_switch"); +const ObString ObProxyTableInfo::PROXY_UPGRADE_START_TIME_NAME = ObString::make_string(".upgrade_start_time"); +const ObString ObProxyTableInfo::PROXY_UPGRADE_DURATION_MINUTES_NAME = ObString::make_string(".upgrade_duration_minutes"); const ObString ObProxyTableInfo::PROXY_UPGRADE_NEW_BINARY_NAME[RELEASE_MAX] = { ObString::make_string(".new_binary_name_5u"), ObString::make_string(".new_binary_name_6u"), @@ -116,7 +115,7 @@ const ObString ObProxyTableInfo::PROXY_UPGRADE_NEW_BINARY_NAME[RELEASE_MAX] = { ObString::make_string(".new_binary_name_unknown"), }; -const ObString ObProxyTableInfo::PROXY_UPGRADE_NEW_BINARY_MD5[RELEASE_MAX] = { +const ObString ObProxyTableInfo::PROXY_UPGRADE_NEW_BINARY_MD5[RELEASE_MAX] = { ObString::make_string(".new_binary_md5_5u"), ObString::make_string(".new_binary_md5_6u"), ObString::make_string(".new_binary_md5_7u"), diff --git a/src/obproxy/utils/ob_proxy_table_define.h b/src/obproxy/utils/ob_proxy_table_define.h index 65c0c5290527ef2793dd11115b2fb4f5354db575..f769156056fe86c2513481442d1072fcbe268d85 100644 --- a/src/obproxy/utils/ob_proxy_table_define.h +++ b/src/obproxy/utils/ob_proxy_table_define.h @@ -67,7 +67,6 @@ public: static const char *READ_ONLY_USERNAME_USER; static const char *READ_ONLY_USERNAME; static const char *READ_ONLY_DATABASE; - static const char *READ_ONLY_PASSWD_STAGED1; static const char *TEST_MODE_USERNAME; static const char *TEST_MODE_PASSWORD; diff --git a/src/share/inner_table/ob_inner_table_schema.h b/src/share/inner_table/ob_inner_table_schema.h index 3ed85da7e75423d4c86ab717e5e92afcc887eefd..0a12f8cf1f0ea2318394bf4c1bdd95c6a2213426 100644 --- a/src/share/inner_table/ob_inner_table_schema.h +++ b/src/share/inner_table/ob_inner_table_schema.h @@ -313,7 +313,7 @@ const schema_create_func core_table_schema_creators [] = { ObInnerTableSchema::all_ddl_operation_schema, NULL,}; -const schema_create_func sys_table_schema_creators [] = { +const schema_create_func sys_table_schema_creators [] = { ObInnerTableSchema::all_meta_table_schema, ObInnerTableSchema::all_user_schema, ObInnerTableSchema::all_user_history_schema, diff --git a/src/share/inner_table/ob_inner_table_schema_constants.h b/src/share/inner_table/ob_inner_table_schema_constants.h index 5126e48c19c156e1e017a39b277ffff386605c1e..6dfa83734ecec4eccf7a4d19a8108d11f0aad996 100644 --- a/src/share/inner_table/ob_inner_table_schema_constants.h +++ b/src/share/inner_table/ob_inner_table_schema_constants.h @@ -27,464 +27,464 @@ class ObTableSchema; namespace share { -const uint64_t MAX_CORE_TABLE_ID = 100; -const uint64_t MAX_SYS_TABLE_ID = 10000; -const uint64_t MAX_VIRTUAL_TABLE_ID = 20000; -const uint64_t MAX_SYS_VIEW_TABLE_ID = 30000; +const uint64_t MAX_CORE_TABLE_ID = 100; +const uint64_t MAX_SYS_TABLE_ID = 10000; +const uint64_t MAX_VIRTUAL_TABLE_ID = 20000; +const uint64_t MAX_SYS_VIEW_TABLE_ID = 30000; -const uint64_t OB_ALL_CORE_TABLE_TID = 1; // "__all_core_table" -const uint64_t OB_ALL_ROOT_TABLE_TID = 2; // "__all_root_table" -const uint64_t OB_ALL_TABLE_TID = 3; // "__all_table" -const uint64_t OB_ALL_COLUMN_TID = 4; // "__all_column" -const uint64_t OB_ALL_DDL_OPERATION_TID = 5; // "__all_ddl_operation" -const uint64_t OB_ALL_META_TABLE_TID = 101; // "__all_meta_table" -const uint64_t OB_ALL_USER_TID = 102; // "__all_user" -const uint64_t OB_ALL_USER_HISTORY_TID = 103; // "__all_user_history" -const uint64_t OB_ALL_DATABASE_TID = 104; // "__all_database" -const uint64_t OB_ALL_DATABASE_HISTORY_TID = 105; // "__all_database_history" -const uint64_t OB_ALL_TABLEGROUP_TID = 106; // "__all_tablegroup" -const uint64_t OB_ALL_TABLEGROUP_HISTORY_TID = 107; // "__all_tablegroup_history" -const uint64_t OB_ALL_TENANT_TID = 108; // "__all_tenant" -const uint64_t OB_ALL_TENANT_HISTORY_TID = 109; // "__all_tenant_history" -const uint64_t OB_ALL_TABLE_PRIVILEGE_TID = 110; // "__all_table_privilege" -const uint64_t OB_ALL_TABLE_PRIVILEGE_HISTORY_TID = 111; // "__all_table_privilege_history" -const uint64_t OB_ALL_DATABASE_PRIVILEGE_TID = 112; // "__all_database_privilege" -const uint64_t OB_ALL_DATABASE_PRIVILEGE_HISTORY_TID = 113; // "__all_database_privilege_history" -const uint64_t OB_ALL_TABLE_HISTORY_TID = 114; // "__all_table_history" -const uint64_t OB_ALL_COLUMN_HISTORY_TID = 115; // "__all_column_history" -const uint64_t OB_ALL_ZONE_TID = 116; // "__all_zone" -const uint64_t OB_ALL_SERVER_TID = 117; // "__all_server" -const uint64_t OB_ALL_SYS_PARAMETER_TID = 118; // "__all_sys_parameter" -const uint64_t OB_ALL_SYS_VARIABLE_TID = 120; // "__all_sys_variable" -const uint64_t OB_ALL_SYS_STAT_TID = 121; // "__all_sys_stat" -const uint64_t OB_ALL_COLUMN_STATISTIC_TID = 122; // "__all_column_statistic" -const uint64_t OB_ALL_UNIT_TID = 123; // "__all_unit" -const uint64_t OB_ALL_UNIT_CONFIG_TID = 124; // "__all_unit_config" -const uint64_t OB_ALL_RESOURCE_POOL_TID = 125; // "__all_resource_pool" -const uint64_t OB_ALL_TENANT_RESOURCE_USAGE_TID = 126; // "__all_tenant_resource_usage" -const uint64_t OB_ALL_SEQUENCE_TID = 127; // "__all_sequence" -const uint64_t OB_ALL_CHARSET_TID = 128; // "__all_charset" -const uint64_t OB_ALL_COLLATION_TID = 129; // "__all_collation" -const uint64_t OB_HELP_TOPIC_TID = 130; // "help_topic" -const uint64_t OB_HELP_CATEGORY_TID = 131; // "help_category" -const uint64_t OB_HELP_KEYWORD_TID = 132; // "help_keyword" -const uint64_t OB_HELP_RELATION_TID = 133; // "help_relation" -const uint64_t OB_ALL_LOCAL_INDEX_STATUS_TID = 134; // "__all_local_index_status" -const uint64_t OB_ALL_DUMMY_TID = 135; // "__all_dummy" -const uint64_t OB_ALL_FROZEN_MAP_TID = 136; // "__all_frozen_map" -const uint64_t OB_ALL_CLOG_HISTORY_INFO_TID = 137; // "__all_clog_history_info" -const uint64_t OB_ALL_CLOG_HISTORY_INFO_V2_TID = 139; // "__all_clog_history_info_v2" -const uint64_t OB_ALL_ROOTSERVICE_EVENT_HISTORY_TID = 140; // "__all_rootservice_event_history" -const uint64_t OB_ALL_PRIVILEGE_TID = 141; // "__all_privilege" -const uint64_t OB_ALL_OUTLINE_TID = 142; // "__all_outline" -const uint64_t OB_ALL_OUTLINE_HISTORY_TID = 143; // "__all_outline_history" -const uint64_t OB_ALL_ELECTION_EVENT_HISTORY_TID = 144; // "__all_election_event_history" -const uint64_t OB_ALL_RECYCLEBIN_TID = 145; // "__all_recyclebin" -const uint64_t OB_ALL_PART_TID = 146; // "__all_part" -const uint64_t OB_ALL_PART_HISTORY_TID = 147; // "__all_part_history" -const uint64_t OB_ALL_SUB_PART_TID = 148; // "__all_sub_part" -const uint64_t OB_ALL_SUB_PART_HISTORY_TID = 149; // "__all_sub_part_history" -const uint64_t OB_ALL_PART_INFO_TID = 150; // "__all_part_info" -const uint64_t OB_ALL_PART_INFO_HISTORY_TID = 151; // "__all_part_info_history" -const uint64_t OB_ALL_DEF_SUB_PART_TID = 152; // "__all_def_sub_part" -const uint64_t OB_ALL_DEF_SUB_PART_HISTORY_TID = 153; // "__all_def_sub_part_history" -const uint64_t OB_ALL_SERVER_EVENT_HISTORY_TID = 154; // "__all_server_event_history" -const uint64_t OB_ALL_TIME_ZONE_TID = 155; // "__all_time_zone" -const uint64_t OB_ALL_TIME_ZONE_NAME_TID = 156; // "__all_time_zone_name" -const uint64_t OB_ALL_TIME_ZONE_TRANSITION_TID = 157; // "__all_time_zone_transition" -const uint64_t OB_ALL_TIME_ZONE_TRANSITION_TYPE_TID = 158; // "__all_time_zone_transition_type" -const uint64_t OB_TENANT_VIRTUAL_ALL_TABLE_TID = 10001; // "__tenant_virtual_all_table" -const uint64_t OB_TENANT_VIRTUAL_TABLE_COLUMN_TID = 10002; // "__tenant_virtual_table_column" -const uint64_t OB_TENANT_VIRTUAL_TABLE_INDEX_TID = 10003; // "__tenant_virtual_table_index" -const uint64_t OB_TENANT_VIRTUAL_SHOW_CREATE_DATABASE_TID = 10004; // "__tenant_virtual_show_create_database" -const uint64_t OB_TENANT_VIRTUAL_SHOW_CREATE_TABLE_TID = 10005; // "__tenant_virtual_show_create_table" -const uint64_t OB_TENANT_VIRTUAL_SESSION_VARIABLE_TID = 10006; // "__tenant_virtual_session_variable" -const uint64_t OB_TENANT_VIRTUAL_PRIVILEGE_GRANT_TID = 10007; // "__tenant_virtual_privilege_grant" -const uint64_t OB_ALL_VIRTUAL_PROCESSLIST_TID = 10008; // "__all_virtual_processlist" -const uint64_t OB_TENANT_VIRTUAL_WARNING_TID = 10009; // "__tenant_virtual_warning" -const uint64_t OB_TENANT_VIRTUAL_CURRENT_TENANT_TID = 10010; // "__tenant_virtual_current_tenant" -const uint64_t OB_TENANT_VIRTUAL_DATABASE_STATUS_TID = 10011; // "__tenant_virtual_database_status" -const uint64_t OB_TENANT_VIRTUAL_TENANT_STATUS_TID = 10012; // "__tenant_virtual_tenant_status" -const uint64_t OB_TENANT_VIRTUAL_INTERM_RESULT_TID = 10013; // "__tenant_virtual_interm_result" -const uint64_t OB_TENANT_VIRTUAL_PARTITION_STAT_TID = 10014; // "__tenant_virtual_partition_stat" -const uint64_t OB_TENANT_VIRTUAL_STATNAME_TID = 10015; // "__tenant_virtual_statname" -const uint64_t OB_TENANT_VIRTUAL_EVENT_NAME_TID = 10016; // "__tenant_virtual_event_name" -const uint64_t OB_TENANT_VIRTUAL_GLOBAL_VARIABLE_TID = 10017; // "__tenant_virtual_global_variable" -const uint64_t OB_ALL_VIRTUAL_CORE_META_TABLE_TID = 11001; // "__all_virtual_core_meta_table" -const uint64_t OB_ALL_VIRTUAL_ZONE_STAT_TID = 11002; // "__all_virtual_zone_stat" -const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_STAT_TID = 11003; // "__all_virtual_plan_cache_stat" -const uint64_t OB_ALL_VIRTUAL_PLAN_STAT_TID = 11004; // "__all_virtual_plan_stat" -const uint64_t OB_ALL_VIRTUAL_MEM_LEAK_CHECKER_INFO_TID = 11006; // "__all_virtual_mem_leak_checker_info" -const uint64_t OB_ALL_VIRTUAL_LATCH_TID = 11007; // "__all_virtual_latch" -const uint64_t OB_ALL_VIRTUAL_KVCACHE_INFO_TID = 11008; // "__all_virtual_kvcache_info" -const uint64_t OB_ALL_VIRTUAL_DATA_TYPE_CLASS_TID = 11009; // "__all_virtual_data_type_class" -const uint64_t OB_ALL_VIRTUAL_DATA_TYPE_TID = 11010; // "__all_virtual_data_type" -const uint64_t OB_ALL_VIRTUAL_SERVER_STAT_TID = 11011; // "__all_virtual_server_stat" -const uint64_t OB_ALL_VIRTUAL_REBALANCE_TASK_STAT_TID = 11012; // "__all_virtual_rebalance_task_stat" -const uint64_t OB_ALL_VIRTUAL_SESSION_EVENT_TID = 11013; // "__all_virtual_session_event" -const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_TID = 11014; // "__all_virtual_session_wait" -const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_TID = 11015; // "__all_virtual_session_wait_history" -const uint64_t OB_ALL_VIRTUAL_SYSTEM_EVENT_TID = 11017; // "__all_virtual_system_event" -const uint64_t OB_ALL_VIRTUAL_TENANT_MEMSTORE_INFO_TID = 11018; // "__all_virtual_tenant_memstore_info" -const uint64_t OB_ALL_VIRTUAL_CONCURRENCY_OBJECT_POOL_TID = 11019; // "__all_virtual_concurrency_object_pool" -const uint64_t OB_ALL_VIRTUAL_SESSTAT_TID = 11020; // "__all_virtual_sesstat" -const uint64_t OB_ALL_VIRTUAL_SYSSTAT_TID = 11021; // "__all_virtual_sysstat" -const uint64_t OB_ALL_VIRTUAL_STORAGE_STAT_TID = 11022; // "__all_virtual_storage_stat" -const uint64_t OB_ALL_VIRTUAL_DISK_STAT_TID = 11023; // "__all_virtual_disk_stat" -const uint64_t OB_ALL_VIRTUAL_MEMSTORE_INFO_TID = 11024; // "__all_virtual_memstore_info" -const uint64_t OB_ALL_VIRTUAL_PARTITION_INFO_TID = 11025; // "__all_virtual_partition_info" -const uint64_t OB_ALL_VIRTUAL_UPGRADE_INSPECTION_TID = 11026; // "__all_virtual_upgrade_inspection" -const uint64_t OB_ALL_VIRTUAL_TRANS_STAT_TID = 11027; // "__all_virtual_trans_stat" -const uint64_t OB_ALL_VIRTUAL_TRANS_MGR_STAT_TID = 11028; // "__all_virtual_trans_mgr_stat" -const uint64_t OB_ALL_VIRTUAL_ELECTION_INFO_TID = 11029; // "__all_virtual_election_info" -const uint64_t OB_ALL_VIRTUAL_ELECTION_MEM_STAT_TID = 11030; // "__all_virtual_election_mem_stat" -const uint64_t OB_ALL_VIRTUAL_SQL_AUDIT_TID = 11031; // "__all_virtual_sql_audit" -const uint64_t OB_ALL_VIRTUAL_TRANS_MEM_STAT_TID = 11032; // "__all_virtual_trans_mem_stat" +const uint64_t OB_ALL_CORE_TABLE_TID = 1; // "__all_core_table" +const uint64_t OB_ALL_ROOT_TABLE_TID = 2; // "__all_root_table" +const uint64_t OB_ALL_TABLE_TID = 3; // "__all_table" +const uint64_t OB_ALL_COLUMN_TID = 4; // "__all_column" +const uint64_t OB_ALL_DDL_OPERATION_TID = 5; // "__all_ddl_operation" +const uint64_t OB_ALL_META_TABLE_TID = 101; // "__all_meta_table" +const uint64_t OB_ALL_USER_TID = 102; // "__all_user" +const uint64_t OB_ALL_USER_HISTORY_TID = 103; // "__all_user_history" +const uint64_t OB_ALL_DATABASE_TID = 104; // "__all_database" +const uint64_t OB_ALL_DATABASE_HISTORY_TID = 105; // "__all_database_history" +const uint64_t OB_ALL_TABLEGROUP_TID = 106; // "__all_tablegroup" +const uint64_t OB_ALL_TABLEGROUP_HISTORY_TID = 107; // "__all_tablegroup_history" +const uint64_t OB_ALL_TENANT_TID = 108; // "__all_tenant" +const uint64_t OB_ALL_TENANT_HISTORY_TID = 109; // "__all_tenant_history" +const uint64_t OB_ALL_TABLE_PRIVILEGE_TID = 110; // "__all_table_privilege" +const uint64_t OB_ALL_TABLE_PRIVILEGE_HISTORY_TID = 111; // "__all_table_privilege_history" +const uint64_t OB_ALL_DATABASE_PRIVILEGE_TID = 112; // "__all_database_privilege" +const uint64_t OB_ALL_DATABASE_PRIVILEGE_HISTORY_TID = 113; // "__all_database_privilege_history" +const uint64_t OB_ALL_TABLE_HISTORY_TID = 114; // "__all_table_history" +const uint64_t OB_ALL_COLUMN_HISTORY_TID = 115; // "__all_column_history" +const uint64_t OB_ALL_ZONE_TID = 116; // "__all_zone" +const uint64_t OB_ALL_SERVER_TID = 117; // "__all_server" +const uint64_t OB_ALL_SYS_PARAMETER_TID = 118; // "__all_sys_parameter" +const uint64_t OB_ALL_SYS_VARIABLE_TID = 120; // "__all_sys_variable" +const uint64_t OB_ALL_SYS_STAT_TID = 121; // "__all_sys_stat" +const uint64_t OB_ALL_COLUMN_STATISTIC_TID = 122; // "__all_column_statistic" +const uint64_t OB_ALL_UNIT_TID = 123; // "__all_unit" +const uint64_t OB_ALL_UNIT_CONFIG_TID = 124; // "__all_unit_config" +const uint64_t OB_ALL_RESOURCE_POOL_TID = 125; // "__all_resource_pool" +const uint64_t OB_ALL_TENANT_RESOURCE_USAGE_TID = 126; // "__all_tenant_resource_usage" +const uint64_t OB_ALL_SEQUENCE_TID = 127; // "__all_sequence" +const uint64_t OB_ALL_CHARSET_TID = 128; // "__all_charset" +const uint64_t OB_ALL_COLLATION_TID = 129; // "__all_collation" +const uint64_t OB_HELP_TOPIC_TID = 130; // "help_topic" +const uint64_t OB_HELP_CATEGORY_TID = 131; // "help_category" +const uint64_t OB_HELP_KEYWORD_TID = 132; // "help_keyword" +const uint64_t OB_HELP_RELATION_TID = 133; // "help_relation" +const uint64_t OB_ALL_LOCAL_INDEX_STATUS_TID = 134; // "__all_local_index_status" +const uint64_t OB_ALL_DUMMY_TID = 135; // "__all_dummy" +const uint64_t OB_ALL_FROZEN_MAP_TID = 136; // "__all_frozen_map" +const uint64_t OB_ALL_CLOG_HISTORY_INFO_TID = 137; // "__all_clog_history_info" +const uint64_t OB_ALL_CLOG_HISTORY_INFO_V2_TID = 139; // "__all_clog_history_info_v2" +const uint64_t OB_ALL_ROOTSERVICE_EVENT_HISTORY_TID = 140; // "__all_rootservice_event_history" +const uint64_t OB_ALL_PRIVILEGE_TID = 141; // "__all_privilege" +const uint64_t OB_ALL_OUTLINE_TID = 142; // "__all_outline" +const uint64_t OB_ALL_OUTLINE_HISTORY_TID = 143; // "__all_outline_history" +const uint64_t OB_ALL_ELECTION_EVENT_HISTORY_TID = 144; // "__all_election_event_history" +const uint64_t OB_ALL_RECYCLEBIN_TID = 145; // "__all_recyclebin" +const uint64_t OB_ALL_PART_TID = 146; // "__all_part" +const uint64_t OB_ALL_PART_HISTORY_TID = 147; // "__all_part_history" +const uint64_t OB_ALL_SUB_PART_TID = 148; // "__all_sub_part" +const uint64_t OB_ALL_SUB_PART_HISTORY_TID = 149; // "__all_sub_part_history" +const uint64_t OB_ALL_PART_INFO_TID = 150; // "__all_part_info" +const uint64_t OB_ALL_PART_INFO_HISTORY_TID = 151; // "__all_part_info_history" +const uint64_t OB_ALL_DEF_SUB_PART_TID = 152; // "__all_def_sub_part" +const uint64_t OB_ALL_DEF_SUB_PART_HISTORY_TID = 153; // "__all_def_sub_part_history" +const uint64_t OB_ALL_SERVER_EVENT_HISTORY_TID = 154; // "__all_server_event_history" +const uint64_t OB_ALL_TIME_ZONE_TID = 155; // "__all_time_zone" +const uint64_t OB_ALL_TIME_ZONE_NAME_TID = 156; // "__all_time_zone_name" +const uint64_t OB_ALL_TIME_ZONE_TRANSITION_TID = 157; // "__all_time_zone_transition" +const uint64_t OB_ALL_TIME_ZONE_TRANSITION_TYPE_TID = 158; // "__all_time_zone_transition_type" +const uint64_t OB_TENANT_VIRTUAL_ALL_TABLE_TID = 10001; // "__tenant_virtual_all_table" +const uint64_t OB_TENANT_VIRTUAL_TABLE_COLUMN_TID = 10002; // "__tenant_virtual_table_column" +const uint64_t OB_TENANT_VIRTUAL_TABLE_INDEX_TID = 10003; // "__tenant_virtual_table_index" +const uint64_t OB_TENANT_VIRTUAL_SHOW_CREATE_DATABASE_TID = 10004; // "__tenant_virtual_show_create_database" +const uint64_t OB_TENANT_VIRTUAL_SHOW_CREATE_TABLE_TID = 10005; // "__tenant_virtual_show_create_table" +const uint64_t OB_TENANT_VIRTUAL_SESSION_VARIABLE_TID = 10006; // "__tenant_virtual_session_variable" +const uint64_t OB_TENANT_VIRTUAL_PRIVILEGE_GRANT_TID = 10007; // "__tenant_virtual_privilege_grant" +const uint64_t OB_ALL_VIRTUAL_PROCESSLIST_TID = 10008; // "__all_virtual_processlist" +const uint64_t OB_TENANT_VIRTUAL_WARNING_TID = 10009; // "__tenant_virtual_warning" +const uint64_t OB_TENANT_VIRTUAL_CURRENT_TENANT_TID = 10010; // "__tenant_virtual_current_tenant" +const uint64_t OB_TENANT_VIRTUAL_DATABASE_STATUS_TID = 10011; // "__tenant_virtual_database_status" +const uint64_t OB_TENANT_VIRTUAL_TENANT_STATUS_TID = 10012; // "__tenant_virtual_tenant_status" +const uint64_t OB_TENANT_VIRTUAL_INTERM_RESULT_TID = 10013; // "__tenant_virtual_interm_result" +const uint64_t OB_TENANT_VIRTUAL_PARTITION_STAT_TID = 10014; // "__tenant_virtual_partition_stat" +const uint64_t OB_TENANT_VIRTUAL_STATNAME_TID = 10015; // "__tenant_virtual_statname" +const uint64_t OB_TENANT_VIRTUAL_EVENT_NAME_TID = 10016; // "__tenant_virtual_event_name" +const uint64_t OB_TENANT_VIRTUAL_GLOBAL_VARIABLE_TID = 10017; // "__tenant_virtual_global_variable" +const uint64_t OB_ALL_VIRTUAL_CORE_META_TABLE_TID = 11001; // "__all_virtual_core_meta_table" +const uint64_t OB_ALL_VIRTUAL_ZONE_STAT_TID = 11002; // "__all_virtual_zone_stat" +const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_STAT_TID = 11003; // "__all_virtual_plan_cache_stat" +const uint64_t OB_ALL_VIRTUAL_PLAN_STAT_TID = 11004; // "__all_virtual_plan_stat" +const uint64_t OB_ALL_VIRTUAL_MEM_LEAK_CHECKER_INFO_TID = 11006; // "__all_virtual_mem_leak_checker_info" +const uint64_t OB_ALL_VIRTUAL_LATCH_TID = 11007; // "__all_virtual_latch" +const uint64_t OB_ALL_VIRTUAL_KVCACHE_INFO_TID = 11008; // "__all_virtual_kvcache_info" +const uint64_t OB_ALL_VIRTUAL_DATA_TYPE_CLASS_TID = 11009; // "__all_virtual_data_type_class" +const uint64_t OB_ALL_VIRTUAL_DATA_TYPE_TID = 11010; // "__all_virtual_data_type" +const uint64_t OB_ALL_VIRTUAL_SERVER_STAT_TID = 11011; // "__all_virtual_server_stat" +const uint64_t OB_ALL_VIRTUAL_REBALANCE_TASK_STAT_TID = 11012; // "__all_virtual_rebalance_task_stat" +const uint64_t OB_ALL_VIRTUAL_SESSION_EVENT_TID = 11013; // "__all_virtual_session_event" +const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_TID = 11014; // "__all_virtual_session_wait" +const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_TID = 11015; // "__all_virtual_session_wait_history" +const uint64_t OB_ALL_VIRTUAL_SYSTEM_EVENT_TID = 11017; // "__all_virtual_system_event" +const uint64_t OB_ALL_VIRTUAL_TENANT_MEMSTORE_INFO_TID = 11018; // "__all_virtual_tenant_memstore_info" +const uint64_t OB_ALL_VIRTUAL_CONCURRENCY_OBJECT_POOL_TID = 11019; // "__all_virtual_concurrency_object_pool" +const uint64_t OB_ALL_VIRTUAL_SESSTAT_TID = 11020; // "__all_virtual_sesstat" +const uint64_t OB_ALL_VIRTUAL_SYSSTAT_TID = 11021; // "__all_virtual_sysstat" +const uint64_t OB_ALL_VIRTUAL_STORAGE_STAT_TID = 11022; // "__all_virtual_storage_stat" +const uint64_t OB_ALL_VIRTUAL_DISK_STAT_TID = 11023; // "__all_virtual_disk_stat" +const uint64_t OB_ALL_VIRTUAL_MEMSTORE_INFO_TID = 11024; // "__all_virtual_memstore_info" +const uint64_t OB_ALL_VIRTUAL_PARTITION_INFO_TID = 11025; // "__all_virtual_partition_info" +const uint64_t OB_ALL_VIRTUAL_UPGRADE_INSPECTION_TID = 11026; // "__all_virtual_upgrade_inspection" +const uint64_t OB_ALL_VIRTUAL_TRANS_STAT_TID = 11027; // "__all_virtual_trans_stat" +const uint64_t OB_ALL_VIRTUAL_TRANS_MGR_STAT_TID = 11028; // "__all_virtual_trans_mgr_stat" +const uint64_t OB_ALL_VIRTUAL_ELECTION_INFO_TID = 11029; // "__all_virtual_election_info" +const uint64_t OB_ALL_VIRTUAL_ELECTION_MEM_STAT_TID = 11030; // "__all_virtual_election_mem_stat" +const uint64_t OB_ALL_VIRTUAL_SQL_AUDIT_TID = 11031; // "__all_virtual_sql_audit" +const uint64_t OB_ALL_VIRTUAL_TRANS_MEM_STAT_TID = 11032; // "__all_virtual_trans_mem_stat" const uint64_t OB_ALL_VIRTUAL_PARTITION_SSTABLE_IMAGE_INFO_TID = 11033; // "__all_virtual_partition_sstable_image_info" -const uint64_t OB_ALL_VIRTUAL_CORE_ROOT_TABLE_TID = 11034; // "__all_virtual_core_root_table" -const uint64_t OB_ALL_VIRTUAL_CORE_ALL_TABLE_TID = 11035; // "__all_virtual_core_all_table" -const uint64_t OB_ALL_VIRTUAL_CORE_COLUMN_TABLE_TID = 11036; // "__all_virtual_core_column_table" -const uint64_t OB_ALL_VIRTUAL_MEMORY_INFO_TID = 11037; // "__all_virtual_memory_info" -const uint64_t OB_ALL_VIRTUAL_TENANT_STAT_TID = 11038; // "__all_virtual_tenant_stat" -const uint64_t OB_ALL_VIRTUAL_SYS_PARAMETER_STAT_TID = 11039; // "__all_virtual_sys_parameter_stat" -const uint64_t OB_ALL_VIRTUAL_PARTITION_REPLAY_STATUS_TID = 11040; // "__all_virtual_partition_replay_status" -const uint64_t OB_ALL_VIRTUAL_CLOG_STAT_TID = 11041; // "__all_virtual_clog_stat" -const uint64_t OB_ALL_VIRTUAL_TRACE_LOG_TID = 11042; // "__all_virtual_trace_log" -const uint64_t OB_ALL_VIRTUAL_ENGINE_TID = 11043; // "__all_virtual_engine" -const uint64_t OB_ALL_VIRTUAL_PROXY_SERVER_STAT_TID = 11045; // "__all_virtual_proxy_server_stat" -const uint64_t OB_ALL_VIRTUAL_PROXY_SYS_VARIABLE_TID = 11046; // "__all_virtual_proxy_sys_variable" -const uint64_t OB_ALL_VIRTUAL_PROXY_SCHEMA_TID = 11047; // "__all_virtual_proxy_schema" -const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_PLAN_EXPLAIN_TID = 11048; // "__all_virtual_plan_cache_plan_explain" -const uint64_t OB_ALL_VIRTUAL_OBRPC_STAT_TID = 11049; // "__all_virtual_obrpc_stat" -const uint64_t OB_ALL_VIRTUAL_SQL_PLAN_MONITOR_TID = 11050; // "__all_virtual_sql_plan_monitor" +const uint64_t OB_ALL_VIRTUAL_CORE_ROOT_TABLE_TID = 11034; // "__all_virtual_core_root_table" +const uint64_t OB_ALL_VIRTUAL_CORE_ALL_TABLE_TID = 11035; // "__all_virtual_core_all_table" +const uint64_t OB_ALL_VIRTUAL_CORE_COLUMN_TABLE_TID = 11036; // "__all_virtual_core_column_table" +const uint64_t OB_ALL_VIRTUAL_MEMORY_INFO_TID = 11037; // "__all_virtual_memory_info" +const uint64_t OB_ALL_VIRTUAL_TENANT_STAT_TID = 11038; // "__all_virtual_tenant_stat" +const uint64_t OB_ALL_VIRTUAL_SYS_PARAMETER_STAT_TID = 11039; // "__all_virtual_sys_parameter_stat" +const uint64_t OB_ALL_VIRTUAL_PARTITION_REPLAY_STATUS_TID = 11040; // "__all_virtual_partition_replay_status" +const uint64_t OB_ALL_VIRTUAL_CLOG_STAT_TID = 11041; // "__all_virtual_clog_stat" +const uint64_t OB_ALL_VIRTUAL_TRACE_LOG_TID = 11042; // "__all_virtual_trace_log" +const uint64_t OB_ALL_VIRTUAL_ENGINE_TID = 11043; // "__all_virtual_engine" +const uint64_t OB_ALL_VIRTUAL_PROXY_SERVER_STAT_TID = 11045; // "__all_virtual_proxy_server_stat" +const uint64_t OB_ALL_VIRTUAL_PROXY_SYS_VARIABLE_TID = 11046; // "__all_virtual_proxy_sys_variable" +const uint64_t OB_ALL_VIRTUAL_PROXY_SCHEMA_TID = 11047; // "__all_virtual_proxy_schema" +const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_PLAN_EXPLAIN_TID = 11048; // "__all_virtual_plan_cache_plan_explain" +const uint64_t OB_ALL_VIRTUAL_OBRPC_STAT_TID = 11049; // "__all_virtual_obrpc_stat" +const uint64_t OB_ALL_VIRTUAL_SQL_PLAN_MONITOR_TID = 11050; // "__all_virtual_sql_plan_monitor" const uint64_t OB_ALL_VIRTUAL_PARTITION_SSTABLE_MERGE_INFO_TID = 11051; // "__all_virtual_partition_sstable_merge_info" -const uint64_t OB_ALL_VIRTUAL_SQL_MONITOR_TID = 11052; // "__all_virtual_sql_monitor" -const uint64_t OB_TENANT_VIRTUAL_OUTLINE_TID = 11053; // "__tenant_virtual_outline" -const uint64_t OB_TENANT_VIRTUAL_CONCURRENT_LIMIT_SQL_TID = 11054; // "__tenant_virtual_concurrent_limit_sql" -const uint64_t OB_ALL_VIRTUAL_SQL_PLAN_STATISTICS_TID = 11055; // "__all_virtual_sql_plan_statistics" +const uint64_t OB_ALL_VIRTUAL_SQL_MONITOR_TID = 11052; // "__all_virtual_sql_monitor" +const uint64_t OB_TENANT_VIRTUAL_OUTLINE_TID = 11053; // "__tenant_virtual_outline" +const uint64_t OB_TENANT_VIRTUAL_CONCURRENT_LIMIT_SQL_TID = 11054; // "__tenant_virtual_concurrent_limit_sql" +const uint64_t OB_ALL_VIRTUAL_SQL_PLAN_STATISTICS_TID = 11055; // "__all_virtual_sql_plan_statistics" const uint64_t OB_ALL_VIRTUAL_PARTITION_SSTABLE_MACRO_INFO_TID = 11056; // "__all_virtual_partition_sstable_macro_info" -const uint64_t OB_ALL_VIRTUAL_PROXY_PARTITION_INFO_TID = 11057; // "__all_virtual_proxy_partition_info" -const uint64_t OB_ALL_VIRTUAL_PROXY_PARTITION_TID = 11058; // "__all_virtual_proxy_partition" -const uint64_t OB_ALL_VIRTUAL_PROXY_SUB_PARTITION_TID = 11059; // "__all_virtual_proxy_sub_partition" -const uint64_t OB_ALL_VIRTUAL_PROXY_ROUTE_TID = 11060; // "__all_virtual_proxy_route" -const uint64_t OB_ALL_VIRTUAL_REBALANCE_TENANT_STAT_TID = 11061; // "__all_virtual_rebalance_tenant_stat" -const uint64_t OB_ALL_VIRTUAL_REBALANCE_UNIT_STAT_TID = 11062; // "__all_virtual_rebalance_unit_stat" -const uint64_t OB_ALL_VIRTUAL_REBALANCE_REPLICA_STAT_TID = 11063; // "__all_virtual_rebalance_replica_stat" +const uint64_t OB_ALL_VIRTUAL_PROXY_PARTITION_INFO_TID = 11057; // "__all_virtual_proxy_partition_info" +const uint64_t OB_ALL_VIRTUAL_PROXY_PARTITION_TID = 11058; // "__all_virtual_proxy_partition" +const uint64_t OB_ALL_VIRTUAL_PROXY_SUB_PARTITION_TID = 11059; // "__all_virtual_proxy_sub_partition" +const uint64_t OB_ALL_VIRTUAL_PROXY_ROUTE_TID = 11060; // "__all_virtual_proxy_route" +const uint64_t OB_ALL_VIRTUAL_REBALANCE_TENANT_STAT_TID = 11061; // "__all_virtual_rebalance_tenant_stat" +const uint64_t OB_ALL_VIRTUAL_REBALANCE_UNIT_STAT_TID = 11062; // "__all_virtual_rebalance_unit_stat" +const uint64_t OB_ALL_VIRTUAL_REBALANCE_REPLICA_STAT_TID = 11063; // "__all_virtual_rebalance_replica_stat" const uint64_t OB_ALL_VIRTUAL_PARTITION_AMPLIFICATION_STAT_TID = 11064; // "__all_virtual_partition_amplification_stat" -const uint64_t OB_ALL_VIRTUAL_ELECTION_EVENT_HISTORY_TID = 11067; // "__all_virtual_election_event_history" +const uint64_t OB_ALL_VIRTUAL_ELECTION_EVENT_HISTORY_TID = 11067; // "__all_virtual_election_event_history" const uint64_t OB_ALL_VIRTUAL_PARTITION_SORTED_STORES_INFO_TID = 11068; // "__all_virtual_partition_sorted_stores_info" -const uint64_t OB_ALL_VIRTUAL_LEADER_STAT_TID = 11069; // "__all_virtual_leader_stat" -const uint64_t OB_ALL_VIRTUAL_PARTITION_MIGRATION_STATUS_TID = 11070; // "__all_virtual_partition_migration_status" -const uint64_t OB_ALL_VIRTUAL_SYS_TASK_STATUS_TID = 11071; // "__all_virtual_sys_task_status" -const uint64_t OB_ALL_VIRTUAL_MACRO_BLOCK_MARKER_STATUS_TID = 11072; // "__all_virtual_macro_block_marker_status" -const uint64_t OB_COLUMNS_TID = 12000; // "COLUMNS" -const uint64_t OB_SESSION_VARIABLES_TID = 12001; // "SESSION_VARIABLES" -const uint64_t OB_TABLE_PRIVILEGES_TID = 12002; // "TABLE_PRIVILEGES" -const uint64_t OB_USER_PRIVILEGES_TID = 12003; // "USER_PRIVILEGES" -const uint64_t OB_SCHEMA_PRIVILEGES_TID = 12004; // "SCHEMA_PRIVILEGES" -const uint64_t OB_TABLE_CONSTRAINTS_TID = 12005; // "TABLE_CONSTRAINTS" -const uint64_t OB_GLOBAL_STATUS_TID = 12006; // "GLOBAL_STATUS" -const uint64_t OB_PARTITIONS_TID = 12007; // "PARTITIONS" -const uint64_t OB_SESSION_STATUS_TID = 12008; // "SESSION_STATUS" -const uint64_t OB_USER_TID = 12009; // "user" -const uint64_t OB_DB_TID = 12010; // "db" -const uint64_t OB_ALL_VIRTUAL_SERVER_MEMORY_INFO_TID = 12011; // "__all_virtual_server_memory_info" -const uint64_t OB_GV_PLAN_CACHE_STAT_TID = 20001; // "gv$plan_cache_stat" -const uint64_t OB_GV_PLAN_CACHE_PLAN_STAT_TID = 20002; // "gv$plan_cache_plan_stat" -const uint64_t OB_SCHEMATA_TID = 20003; // "SCHEMATA" -const uint64_t OB_CHARACTER_SETS_TID = 20004; // "CHARACTER_SETS" -const uint64_t OB_GLOBAL_VARIABLES_TID = 20005; // "GLOBAL_VARIABLES" -const uint64_t OB_STATISTICS_TID = 20006; // "STATISTICS" -const uint64_t OB_VIEWS_TID = 20007; // "VIEWS" -const uint64_t OB_TABLES_TID = 20008; // "TABLES" -const uint64_t OB_COLLATIONS_TID = 20009; // "COLLATIONS" -const uint64_t OB_COLLATION_CHARACTER_SET_APPLICABILITY_TID = 20010; // "COLLATION_CHARACTER_SET_APPLICABILITY" -const uint64_t OB_PROCESSLIST_TID = 20011; // "PROCESSLIST" -const uint64_t OB_KEY_COLUMN_USAGE_TID = 20012; // "KEY_COLUMN_USAGE" -const uint64_t OB_DBA_OUTLINES_TID = 20013; // "DBA_OUTLINES" -const uint64_t OB_GV_SESSION_EVENT_TID = 21000; // "gv$session_event" -const uint64_t OB_GV_SESSION_WAIT_TID = 21001; // "gv$session_wait" -const uint64_t OB_GV_SESSION_WAIT_HISTORY_TID = 21002; // "gv$session_wait_history" -const uint64_t OB_GV_SYSTEM_EVENT_TID = 21003; // "gv$system_event" -const uint64_t OB_GV_SESSTAT_TID = 21004; // "gv$sesstat" -const uint64_t OB_GV_SYSSTAT_TID = 21005; // "gv$sysstat" -const uint64_t OB_V_STATNAME_TID = 21006; // "v$statname" -const uint64_t OB_V_EVENT_NAME_TID = 21007; // "v$event_name" -const uint64_t OB_V_SESSION_EVENT_TID = 21008; // "v$session_event" -const uint64_t OB_V_SESSION_WAIT_TID = 21009; // "v$session_wait" -const uint64_t OB_V_SESSION_WAIT_HISTORY_TID = 21010; // "v$session_wait_history" -const uint64_t OB_V_SESSTAT_TID = 21011; // "v$sesstat" -const uint64_t OB_V_SYSSTAT_TID = 21012; // "v$sysstat" -const uint64_t OB_V_SYSTEM_EVENT_TID = 21013; // "v$system_event" -const uint64_t OB_GV_SQL_AUDIT_TID = 21014; // "gv$sql_audit" -const uint64_t OB_GV_LATCH_TID = 21015; // "gv$latch" -const uint64_t OB_GV_MEMORY_TID = 21016; // "gv$memory" -const uint64_t OB_V_MEMORY_TID = 21017; // "v$memory" -const uint64_t OB_GV_MEMSTORE_TID = 21018; // "gv$memstore" -const uint64_t OB_V_MEMSTORE_TID = 21019; // "v$memstore" -const uint64_t OB_GV_MEMSTORE_INFO_TID = 21020; // "gv$memstore_info" -const uint64_t OB_V_MEMSTORE_INFO_TID = 21021; // "v$memstore_info" -const uint64_t OB_V_PLAN_CACHE_STAT_TID = 21022; // "v$plan_cache_stat" -const uint64_t OB_V_PLAN_CACHE_PLAN_STAT_TID = 21023; // "v$plan_cache_plan_stat" -const uint64_t OB_GV_PLAN_CACHE_PLAN_EXPLAIN_TID = 21024; // "gv$plan_cache_plan_explain" -const uint64_t OB_V_PLAN_CACHE_PLAN_EXPLAIN_TID = 21025; // "v$plan_cache_plan_explain" -const uint64_t OB_V_SQL_AUDIT_TID = 21026; // "v$sql_audit" -const uint64_t OB_V_LATCH_TID = 21027; // "v$latch" -const uint64_t OB_GV_OBRPC_OUTGOING_TID = 21028; // "gv$obrpc_outgoing" -const uint64_t OB_V_OBRPC_OUTGOING_TID = 21029; // "v$obrpc_outgoing" -const uint64_t OB_GV_OBRPC_INCOMING_TID = 21030; // "gv$obrpc_incoming" -const uint64_t OB_V_OBRPC_INCOMING_TID = 21031; // "v$obrpc_incoming" -const uint64_t OB_GV_SQL_TID = 21032; // "gv$sql" -const uint64_t OB_V_SQL_TID = 21033; // "v$sql" -const uint64_t OB_GV_SQL_MONITOR_TID = 21034; // "gv$sql_monitor" -const uint64_t OB_V_SQL_MONITOR_TID = 21035; // "v$sql_monitor" -const uint64_t OB_GV_SQL_PLAN_MONITOR_TID = 21036; // "gv$sql_plan_monitor" -const uint64_t OB_V_SQL_PLAN_MONITOR_TID = 21037; // "v$sql_plan_monitor" -const uint64_t OB_USER_RECYCLEBIN_TID = 21038; // "USER_RECYCLEBIN" -const uint64_t OB_GV_OUTLINE_TID = 21039; // "gv$outline" -const uint64_t OB_GV_CONCURRENT_LIMIT_SQL_TID = 21040; // "gv$concurrent_limit_sql" -const uint64_t OB_GV_SQL_PLAN_STATISTICS_TID = 21041; // "gv$sql_plan_statistics" -const uint64_t OB_V_SQL_PLAN_STATISTICS_TID = 21042; // "v$sql_plan_statistics" -const uint64_t OB_GV_SERVER_MEMSTORE_TID = 21043; // "gv$server_memstore" -const uint64_t OB_TIME_ZONE_TID = 21044; // "time_zone" -const uint64_t OB_TIME_ZONE_NAME_TID = 21045; // "time_zone_name" -const uint64_t OB_TIME_ZONE_TRANSITION_TID = 21046; // "time_zone_transition" -const uint64_t OB_TIME_ZONE_TRANSITION_TYPE_TID = 21047; // "time_zone_transition_type" -const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_STAT_I1_TID = 19999; // "__all_virtual_plan_cache_stat" -const uint64_t OB_ALL_VIRTUAL_SESSION_EVENT_I1_TID = 19998; // "__all_virtual_session_event" -const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_I1_TID = 19997; // "__all_virtual_session_wait" -const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_I1_TID = 19996; // "__all_virtual_session_wait_history" -const uint64_t OB_ALL_VIRTUAL_SYSTEM_EVENT_I1_TID = 19995; // "__all_virtual_system_event" -const uint64_t OB_ALL_VIRTUAL_SESSTAT_I1_TID = 19994; // "__all_virtual_sesstat" -const uint64_t OB_ALL_VIRTUAL_SYSSTAT_I1_TID = 19993; // "__all_virtual_sysstat" -const uint64_t OB_ALL_VIRTUAL_SQL_AUDIT_I1_TID = 19992; // "__all_virtual_sql_audit" +const uint64_t OB_ALL_VIRTUAL_LEADER_STAT_TID = 11069; // "__all_virtual_leader_stat" +const uint64_t OB_ALL_VIRTUAL_PARTITION_MIGRATION_STATUS_TID = 11070; // "__all_virtual_partition_migration_status" +const uint64_t OB_ALL_VIRTUAL_SYS_TASK_STATUS_TID = 11071; // "__all_virtual_sys_task_status" +const uint64_t OB_ALL_VIRTUAL_MACRO_BLOCK_MARKER_STATUS_TID = 11072; // "__all_virtual_macro_block_marker_status" +const uint64_t OB_COLUMNS_TID = 12000; // "COLUMNS" +const uint64_t OB_SESSION_VARIABLES_TID = 12001; // "SESSION_VARIABLES" +const uint64_t OB_TABLE_PRIVILEGES_TID = 12002; // "TABLE_PRIVILEGES" +const uint64_t OB_USER_PRIVILEGES_TID = 12003; // "USER_PRIVILEGES" +const uint64_t OB_SCHEMA_PRIVILEGES_TID = 12004; // "SCHEMA_PRIVILEGES" +const uint64_t OB_TABLE_CONSTRAINTS_TID = 12005; // "TABLE_CONSTRAINTS" +const uint64_t OB_GLOBAL_STATUS_TID = 12006; // "GLOBAL_STATUS" +const uint64_t OB_PARTITIONS_TID = 12007; // "PARTITIONS" +const uint64_t OB_SESSION_STATUS_TID = 12008; // "SESSION_STATUS" +const uint64_t OB_USER_TID = 12009; // "user" +const uint64_t OB_DB_TID = 12010; // "db" +const uint64_t OB_ALL_VIRTUAL_SERVER_MEMORY_INFO_TID = 12011; // "__all_virtual_server_memory_info" +const uint64_t OB_GV_PLAN_CACHE_STAT_TID = 20001; // "gv$plan_cache_stat" +const uint64_t OB_GV_PLAN_CACHE_PLAN_STAT_TID = 20002; // "gv$plan_cache_plan_stat" +const uint64_t OB_SCHEMATA_TID = 20003; // "SCHEMATA" +const uint64_t OB_CHARACTER_SETS_TID = 20004; // "CHARACTER_SETS" +const uint64_t OB_GLOBAL_VARIABLES_TID = 20005; // "GLOBAL_VARIABLES" +const uint64_t OB_STATISTICS_TID = 20006; // "STATISTICS" +const uint64_t OB_VIEWS_TID = 20007; // "VIEWS" +const uint64_t OB_TABLES_TID = 20008; // "TABLES" +const uint64_t OB_COLLATIONS_TID = 20009; // "COLLATIONS" +const uint64_t OB_COLLATION_CHARACTER_SET_APPLICABILITY_TID = 20010; // "COLLATION_CHARACTER_SET_APPLICABILITY" +const uint64_t OB_PROCESSLIST_TID = 20011; // "PROCESSLIST" +const uint64_t OB_KEY_COLUMN_USAGE_TID = 20012; // "KEY_COLUMN_USAGE" +const uint64_t OB_DBA_OUTLINES_TID = 20013; // "DBA_OUTLINES" +const uint64_t OB_GV_SESSION_EVENT_TID = 21000; // "gv$session_event" +const uint64_t OB_GV_SESSION_WAIT_TID = 21001; // "gv$session_wait" +const uint64_t OB_GV_SESSION_WAIT_HISTORY_TID = 21002; // "gv$session_wait_history" +const uint64_t OB_GV_SYSTEM_EVENT_TID = 21003; // "gv$system_event" +const uint64_t OB_GV_SESSTAT_TID = 21004; // "gv$sesstat" +const uint64_t OB_GV_SYSSTAT_TID = 21005; // "gv$sysstat" +const uint64_t OB_V_STATNAME_TID = 21006; // "v$statname" +const uint64_t OB_V_EVENT_NAME_TID = 21007; // "v$event_name" +const uint64_t OB_V_SESSION_EVENT_TID = 21008; // "v$session_event" +const uint64_t OB_V_SESSION_WAIT_TID = 21009; // "v$session_wait" +const uint64_t OB_V_SESSION_WAIT_HISTORY_TID = 21010; // "v$session_wait_history" +const uint64_t OB_V_SESSTAT_TID = 21011; // "v$sesstat" +const uint64_t OB_V_SYSSTAT_TID = 21012; // "v$sysstat" +const uint64_t OB_V_SYSTEM_EVENT_TID = 21013; // "v$system_event" +const uint64_t OB_GV_SQL_AUDIT_TID = 21014; // "gv$sql_audit" +const uint64_t OB_GV_LATCH_TID = 21015; // "gv$latch" +const uint64_t OB_GV_MEMORY_TID = 21016; // "gv$memory" +const uint64_t OB_V_MEMORY_TID = 21017; // "v$memory" +const uint64_t OB_GV_MEMSTORE_TID = 21018; // "gv$memstore" +const uint64_t OB_V_MEMSTORE_TID = 21019; // "v$memstore" +const uint64_t OB_GV_MEMSTORE_INFO_TID = 21020; // "gv$memstore_info" +const uint64_t OB_V_MEMSTORE_INFO_TID = 21021; // "v$memstore_info" +const uint64_t OB_V_PLAN_CACHE_STAT_TID = 21022; // "v$plan_cache_stat" +const uint64_t OB_V_PLAN_CACHE_PLAN_STAT_TID = 21023; // "v$plan_cache_plan_stat" +const uint64_t OB_GV_PLAN_CACHE_PLAN_EXPLAIN_TID = 21024; // "gv$plan_cache_plan_explain" +const uint64_t OB_V_PLAN_CACHE_PLAN_EXPLAIN_TID = 21025; // "v$plan_cache_plan_explain" +const uint64_t OB_V_SQL_AUDIT_TID = 21026; // "v$sql_audit" +const uint64_t OB_V_LATCH_TID = 21027; // "v$latch" +const uint64_t OB_GV_OBRPC_OUTGOING_TID = 21028; // "gv$obrpc_outgoing" +const uint64_t OB_V_OBRPC_OUTGOING_TID = 21029; // "v$obrpc_outgoing" +const uint64_t OB_GV_OBRPC_INCOMING_TID = 21030; // "gv$obrpc_incoming" +const uint64_t OB_V_OBRPC_INCOMING_TID = 21031; // "v$obrpc_incoming" +const uint64_t OB_GV_SQL_TID = 21032; // "gv$sql" +const uint64_t OB_V_SQL_TID = 21033; // "v$sql" +const uint64_t OB_GV_SQL_MONITOR_TID = 21034; // "gv$sql_monitor" +const uint64_t OB_V_SQL_MONITOR_TID = 21035; // "v$sql_monitor" +const uint64_t OB_GV_SQL_PLAN_MONITOR_TID = 21036; // "gv$sql_plan_monitor" +const uint64_t OB_V_SQL_PLAN_MONITOR_TID = 21037; // "v$sql_plan_monitor" +const uint64_t OB_USER_RECYCLEBIN_TID = 21038; // "USER_RECYCLEBIN" +const uint64_t OB_GV_OUTLINE_TID = 21039; // "gv$outline" +const uint64_t OB_GV_CONCURRENT_LIMIT_SQL_TID = 21040; // "gv$concurrent_limit_sql" +const uint64_t OB_GV_SQL_PLAN_STATISTICS_TID = 21041; // "gv$sql_plan_statistics" +const uint64_t OB_V_SQL_PLAN_STATISTICS_TID = 21042; // "v$sql_plan_statistics" +const uint64_t OB_GV_SERVER_MEMSTORE_TID = 21043; // "gv$server_memstore" +const uint64_t OB_TIME_ZONE_TID = 21044; // "time_zone" +const uint64_t OB_TIME_ZONE_NAME_TID = 21045; // "time_zone_name" +const uint64_t OB_TIME_ZONE_TRANSITION_TID = 21046; // "time_zone_transition" +const uint64_t OB_TIME_ZONE_TRANSITION_TYPE_TID = 21047; // "time_zone_transition_type" +const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_STAT_I1_TID = 19999; // "__all_virtual_plan_cache_stat" +const uint64_t OB_ALL_VIRTUAL_SESSION_EVENT_I1_TID = 19998; // "__all_virtual_session_event" +const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_I1_TID = 19997; // "__all_virtual_session_wait" +const uint64_t OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_I1_TID = 19996; // "__all_virtual_session_wait_history" +const uint64_t OB_ALL_VIRTUAL_SYSTEM_EVENT_I1_TID = 19995; // "__all_virtual_system_event" +const uint64_t OB_ALL_VIRTUAL_SESSTAT_I1_TID = 19994; // "__all_virtual_sesstat" +const uint64_t OB_ALL_VIRTUAL_SYSSTAT_I1_TID = 19993; // "__all_virtual_sysstat" +const uint64_t OB_ALL_VIRTUAL_SQL_AUDIT_I1_TID = 19992; // "__all_virtual_sql_audit" -const char *const OB_ALL_CORE_TABLE_TNAME = "__all_core_table"; -const char *const OB_ALL_ROOT_TABLE_TNAME = "__all_root_table"; -const char *const OB_ALL_TABLE_TNAME = "__all_table"; -const char *const OB_ALL_COLUMN_TNAME = "__all_column"; -const char *const OB_ALL_DDL_OPERATION_TNAME = "__all_ddl_operation"; -const char *const OB_ALL_META_TABLE_TNAME = "__all_meta_table"; -const char *const OB_ALL_USER_TNAME = "__all_user"; -const char *const OB_ALL_USER_HISTORY_TNAME = "__all_user_history"; -const char *const OB_ALL_DATABASE_TNAME = "__all_database"; -const char *const OB_ALL_DATABASE_HISTORY_TNAME = "__all_database_history"; -const char *const OB_ALL_TABLEGROUP_TNAME = "__all_tablegroup"; -const char *const OB_ALL_TABLEGROUP_HISTORY_TNAME = "__all_tablegroup_history"; -const char *const OB_ALL_TENANT_TNAME = "__all_tenant"; -const char *const OB_ALL_TENANT_HISTORY_TNAME = "__all_tenant_history"; -const char *const OB_ALL_TABLE_PRIVILEGE_TNAME = "__all_table_privilege"; -const char *const OB_ALL_TABLE_PRIVILEGE_HISTORY_TNAME = "__all_table_privilege_history"; -const char *const OB_ALL_DATABASE_PRIVILEGE_TNAME = "__all_database_privilege"; -const char *const OB_ALL_DATABASE_PRIVILEGE_HISTORY_TNAME = "__all_database_privilege_history"; -const char *const OB_ALL_TABLE_HISTORY_TNAME = "__all_table_history"; -const char *const OB_ALL_COLUMN_HISTORY_TNAME = "__all_column_history"; -const char *const OB_ALL_ZONE_TNAME = "__all_zone"; -const char *const OB_ALL_SERVER_TNAME = "__all_server"; -const char *const OB_ALL_SYS_PARAMETER_TNAME = "__all_sys_parameter"; -const char *const OB_ALL_SYS_VARIABLE_TNAME = "__all_sys_variable"; -const char *const OB_ALL_SYS_STAT_TNAME = "__all_sys_stat"; -const char *const OB_ALL_COLUMN_STATISTIC_TNAME = "__all_column_statistic"; -const char *const OB_ALL_UNIT_TNAME = "__all_unit"; -const char *const OB_ALL_UNIT_CONFIG_TNAME = "__all_unit_config"; -const char *const OB_ALL_RESOURCE_POOL_TNAME = "__all_resource_pool"; -const char *const OB_ALL_TENANT_RESOURCE_USAGE_TNAME = "__all_tenant_resource_usage"; -const char *const OB_ALL_SEQUENCE_TNAME = "__all_sequence"; -const char *const OB_ALL_CHARSET_TNAME = "__all_charset"; -const char *const OB_ALL_COLLATION_TNAME = "__all_collation"; -const char *const OB_HELP_TOPIC_TNAME = "help_topic"; -const char *const OB_HELP_CATEGORY_TNAME = "help_category"; -const char *const OB_HELP_KEYWORD_TNAME = "help_keyword"; -const char *const OB_HELP_RELATION_TNAME = "help_relation"; -const char *const OB_ALL_LOCAL_INDEX_STATUS_TNAME = "__all_local_index_status"; -const char *const OB_ALL_DUMMY_TNAME = "__all_dummy"; -const char *const OB_ALL_FROZEN_MAP_TNAME = "__all_frozen_map"; -const char *const OB_ALL_CLOG_HISTORY_INFO_TNAME = "__all_clog_history_info"; -const char *const OB_ALL_CLOG_HISTORY_INFO_V2_TNAME = "__all_clog_history_info_v2"; -const char *const OB_ALL_ROOTSERVICE_EVENT_HISTORY_TNAME = "__all_rootservice_event_history"; -const char *const OB_ALL_PRIVILEGE_TNAME = "__all_privilege"; -const char *const OB_ALL_OUTLINE_TNAME = "__all_outline"; -const char *const OB_ALL_OUTLINE_HISTORY_TNAME = "__all_outline_history"; -const char *const OB_ALL_ELECTION_EVENT_HISTORY_TNAME = "__all_election_event_history"; -const char *const OB_ALL_RECYCLEBIN_TNAME = "__all_recyclebin"; -const char *const OB_ALL_PART_TNAME = "__all_part"; -const char *const OB_ALL_PART_HISTORY_TNAME = "__all_part_history"; -const char *const OB_ALL_SUB_PART_TNAME = "__all_sub_part"; -const char *const OB_ALL_SUB_PART_HISTORY_TNAME = "__all_sub_part_history"; -const char *const OB_ALL_PART_INFO_TNAME = "__all_part_info"; -const char *const OB_ALL_PART_INFO_HISTORY_TNAME = "__all_part_info_history"; -const char *const OB_ALL_DEF_SUB_PART_TNAME = "__all_def_sub_part"; -const char *const OB_ALL_DEF_SUB_PART_HISTORY_TNAME = "__all_def_sub_part_history"; -const char *const OB_ALL_SERVER_EVENT_HISTORY_TNAME = "__all_server_event_history"; -const char *const OB_ALL_TIME_ZONE_TNAME = "__all_time_zone"; -const char *const OB_ALL_TIME_ZONE_NAME_TNAME = "__all_time_zone_name"; -const char *const OB_ALL_TIME_ZONE_TRANSITION_TNAME = "__all_time_zone_transition"; -const char *const OB_ALL_TIME_ZONE_TRANSITION_TYPE_TNAME = "__all_time_zone_transition_type"; -const char *const OB_TENANT_VIRTUAL_ALL_TABLE_TNAME = "__tenant_virtual_all_table"; -const char *const OB_TENANT_VIRTUAL_TABLE_COLUMN_TNAME = "__tenant_virtual_table_column"; -const char *const OB_TENANT_VIRTUAL_TABLE_INDEX_TNAME = "__tenant_virtual_table_index"; -const char *const OB_TENANT_VIRTUAL_SHOW_CREATE_DATABASE_TNAME = "__tenant_virtual_show_create_database"; -const char *const OB_TENANT_VIRTUAL_SHOW_CREATE_TABLE_TNAME = "__tenant_virtual_show_create_table"; -const char *const OB_TENANT_VIRTUAL_SESSION_VARIABLE_TNAME = "__tenant_virtual_session_variable"; -const char *const OB_TENANT_VIRTUAL_PRIVILEGE_GRANT_TNAME = "__tenant_virtual_privilege_grant"; -const char *const OB_ALL_VIRTUAL_PROCESSLIST_TNAME = "__all_virtual_processlist"; -const char *const OB_TENANT_VIRTUAL_WARNING_TNAME = "__tenant_virtual_warning"; -const char *const OB_TENANT_VIRTUAL_CURRENT_TENANT_TNAME = "__tenant_virtual_current_tenant"; -const char *const OB_TENANT_VIRTUAL_DATABASE_STATUS_TNAME = "__tenant_virtual_database_status"; -const char *const OB_TENANT_VIRTUAL_TENANT_STATUS_TNAME = "__tenant_virtual_tenant_status"; -const char *const OB_TENANT_VIRTUAL_INTERM_RESULT_TNAME = "__tenant_virtual_interm_result"; -const char *const OB_TENANT_VIRTUAL_PARTITION_STAT_TNAME = "__tenant_virtual_partition_stat"; -const char *const OB_TENANT_VIRTUAL_STATNAME_TNAME = "__tenant_virtual_statname"; -const char *const OB_TENANT_VIRTUAL_EVENT_NAME_TNAME = "__tenant_virtual_event_name"; -const char *const OB_TENANT_VIRTUAL_GLOBAL_VARIABLE_TNAME = "__tenant_virtual_global_variable"; -const char *const OB_ALL_VIRTUAL_CORE_META_TABLE_TNAME = "__all_virtual_core_meta_table"; -const char *const OB_ALL_VIRTUAL_ZONE_STAT_TNAME = "__all_virtual_zone_stat"; -const char *const OB_ALL_VIRTUAL_PLAN_CACHE_STAT_TNAME = "__all_virtual_plan_cache_stat"; -const char *const OB_ALL_VIRTUAL_PLAN_STAT_TNAME = "__all_virtual_plan_stat"; -const char *const OB_ALL_VIRTUAL_MEM_LEAK_CHECKER_INFO_TNAME = "__all_virtual_mem_leak_checker_info"; -const char *const OB_ALL_VIRTUAL_LATCH_TNAME = "__all_virtual_latch"; -const char *const OB_ALL_VIRTUAL_KVCACHE_INFO_TNAME = "__all_virtual_kvcache_info"; -const char *const OB_ALL_VIRTUAL_DATA_TYPE_CLASS_TNAME = "__all_virtual_data_type_class"; -const char *const OB_ALL_VIRTUAL_DATA_TYPE_TNAME = "__all_virtual_data_type"; -const char *const OB_ALL_VIRTUAL_SERVER_STAT_TNAME = "__all_virtual_server_stat"; -const char *const OB_ALL_VIRTUAL_REBALANCE_TASK_STAT_TNAME = "__all_virtual_rebalance_task_stat"; -const char *const OB_ALL_VIRTUAL_SESSION_EVENT_TNAME = "__all_virtual_session_event"; -const char *const OB_ALL_VIRTUAL_SESSION_WAIT_TNAME = "__all_virtual_session_wait"; -const char *const OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_TNAME = "__all_virtual_session_wait_history"; -const char *const OB_ALL_VIRTUAL_SYSTEM_EVENT_TNAME = "__all_virtual_system_event"; -const char *const OB_ALL_VIRTUAL_TENANT_MEMSTORE_INFO_TNAME = "__all_virtual_tenant_memstore_info"; -const char *const OB_ALL_VIRTUAL_CONCURRENCY_OBJECT_POOL_TNAME = "__all_virtual_concurrency_object_pool"; -const char *const OB_ALL_VIRTUAL_SESSTAT_TNAME = "__all_virtual_sesstat"; -const char *const OB_ALL_VIRTUAL_SYSSTAT_TNAME = "__all_virtual_sysstat"; -const char *const OB_ALL_VIRTUAL_STORAGE_STAT_TNAME = "__all_virtual_storage_stat"; -const char *const OB_ALL_VIRTUAL_DISK_STAT_TNAME = "__all_virtual_disk_stat"; -const char *const OB_ALL_VIRTUAL_MEMSTORE_INFO_TNAME = "__all_virtual_memstore_info"; -const char *const OB_ALL_VIRTUAL_PARTITION_INFO_TNAME = "__all_virtual_partition_info"; -const char *const OB_ALL_VIRTUAL_UPGRADE_INSPECTION_TNAME = "__all_virtual_upgrade_inspection"; -const char *const OB_ALL_VIRTUAL_TRANS_STAT_TNAME = "__all_virtual_trans_stat"; -const char *const OB_ALL_VIRTUAL_TRANS_MGR_STAT_TNAME = "__all_virtual_trans_mgr_stat"; -const char *const OB_ALL_VIRTUAL_ELECTION_INFO_TNAME = "__all_virtual_election_info"; -const char *const OB_ALL_VIRTUAL_ELECTION_MEM_STAT_TNAME = "__all_virtual_election_mem_stat"; -const char *const OB_ALL_VIRTUAL_SQL_AUDIT_TNAME = "__all_virtual_sql_audit"; -const char *const OB_ALL_VIRTUAL_TRANS_MEM_STAT_TNAME = "__all_virtual_trans_mem_stat"; +const char *const OB_ALL_CORE_TABLE_TNAME = "__all_core_table"; +const char *const OB_ALL_ROOT_TABLE_TNAME = "__all_root_table"; +const char *const OB_ALL_TABLE_TNAME = "__all_table"; +const char *const OB_ALL_COLUMN_TNAME = "__all_column"; +const char *const OB_ALL_DDL_OPERATION_TNAME = "__all_ddl_operation"; +const char *const OB_ALL_META_TABLE_TNAME = "__all_meta_table"; +const char *const OB_ALL_USER_TNAME = "__all_user"; +const char *const OB_ALL_USER_HISTORY_TNAME = "__all_user_history"; +const char *const OB_ALL_DATABASE_TNAME = "__all_database"; +const char *const OB_ALL_DATABASE_HISTORY_TNAME = "__all_database_history"; +const char *const OB_ALL_TABLEGROUP_TNAME = "__all_tablegroup"; +const char *const OB_ALL_TABLEGROUP_HISTORY_TNAME = "__all_tablegroup_history"; +const char *const OB_ALL_TENANT_TNAME = "__all_tenant"; +const char *const OB_ALL_TENANT_HISTORY_TNAME = "__all_tenant_history"; +const char *const OB_ALL_TABLE_PRIVILEGE_TNAME = "__all_table_privilege"; +const char *const OB_ALL_TABLE_PRIVILEGE_HISTORY_TNAME = "__all_table_privilege_history"; +const char *const OB_ALL_DATABASE_PRIVILEGE_TNAME = "__all_database_privilege"; +const char *const OB_ALL_DATABASE_PRIVILEGE_HISTORY_TNAME = "__all_database_privilege_history"; +const char *const OB_ALL_TABLE_HISTORY_TNAME = "__all_table_history"; +const char *const OB_ALL_COLUMN_HISTORY_TNAME = "__all_column_history"; +const char *const OB_ALL_ZONE_TNAME = "__all_zone"; +const char *const OB_ALL_SERVER_TNAME = "__all_server"; +const char *const OB_ALL_SYS_PARAMETER_TNAME = "__all_sys_parameter"; +const char *const OB_ALL_SYS_VARIABLE_TNAME = "__all_sys_variable"; +const char *const OB_ALL_SYS_STAT_TNAME = "__all_sys_stat"; +const char *const OB_ALL_COLUMN_STATISTIC_TNAME = "__all_column_statistic"; +const char *const OB_ALL_UNIT_TNAME = "__all_unit"; +const char *const OB_ALL_UNIT_CONFIG_TNAME = "__all_unit_config"; +const char *const OB_ALL_RESOURCE_POOL_TNAME = "__all_resource_pool"; +const char *const OB_ALL_TENANT_RESOURCE_USAGE_TNAME = "__all_tenant_resource_usage"; +const char *const OB_ALL_SEQUENCE_TNAME = "__all_sequence"; +const char *const OB_ALL_CHARSET_TNAME = "__all_charset"; +const char *const OB_ALL_COLLATION_TNAME = "__all_collation"; +const char *const OB_HELP_TOPIC_TNAME = "help_topic"; +const char *const OB_HELP_CATEGORY_TNAME = "help_category"; +const char *const OB_HELP_KEYWORD_TNAME = "help_keyword"; +const char *const OB_HELP_RELATION_TNAME = "help_relation"; +const char *const OB_ALL_LOCAL_INDEX_STATUS_TNAME = "__all_local_index_status"; +const char *const OB_ALL_DUMMY_TNAME = "__all_dummy"; +const char *const OB_ALL_FROZEN_MAP_TNAME = "__all_frozen_map"; +const char *const OB_ALL_CLOG_HISTORY_INFO_TNAME = "__all_clog_history_info"; +const char *const OB_ALL_CLOG_HISTORY_INFO_V2_TNAME = "__all_clog_history_info_v2"; +const char *const OB_ALL_ROOTSERVICE_EVENT_HISTORY_TNAME = "__all_rootservice_event_history"; +const char *const OB_ALL_PRIVILEGE_TNAME = "__all_privilege"; +const char *const OB_ALL_OUTLINE_TNAME = "__all_outline"; +const char *const OB_ALL_OUTLINE_HISTORY_TNAME = "__all_outline_history"; +const char *const OB_ALL_ELECTION_EVENT_HISTORY_TNAME = "__all_election_event_history"; +const char *const OB_ALL_RECYCLEBIN_TNAME = "__all_recyclebin"; +const char *const OB_ALL_PART_TNAME = "__all_part"; +const char *const OB_ALL_PART_HISTORY_TNAME = "__all_part_history"; +const char *const OB_ALL_SUB_PART_TNAME = "__all_sub_part"; +const char *const OB_ALL_SUB_PART_HISTORY_TNAME = "__all_sub_part_history"; +const char *const OB_ALL_PART_INFO_TNAME = "__all_part_info"; +const char *const OB_ALL_PART_INFO_HISTORY_TNAME = "__all_part_info_history"; +const char *const OB_ALL_DEF_SUB_PART_TNAME = "__all_def_sub_part"; +const char *const OB_ALL_DEF_SUB_PART_HISTORY_TNAME = "__all_def_sub_part_history"; +const char *const OB_ALL_SERVER_EVENT_HISTORY_TNAME = "__all_server_event_history"; +const char *const OB_ALL_TIME_ZONE_TNAME = "__all_time_zone"; +const char *const OB_ALL_TIME_ZONE_NAME_TNAME = "__all_time_zone_name"; +const char *const OB_ALL_TIME_ZONE_TRANSITION_TNAME = "__all_time_zone_transition"; +const char *const OB_ALL_TIME_ZONE_TRANSITION_TYPE_TNAME = "__all_time_zone_transition_type"; +const char *const OB_TENANT_VIRTUAL_ALL_TABLE_TNAME = "__tenant_virtual_all_table"; +const char *const OB_TENANT_VIRTUAL_TABLE_COLUMN_TNAME = "__tenant_virtual_table_column"; +const char *const OB_TENANT_VIRTUAL_TABLE_INDEX_TNAME = "__tenant_virtual_table_index"; +const char *const OB_TENANT_VIRTUAL_SHOW_CREATE_DATABASE_TNAME = "__tenant_virtual_show_create_database"; +const char *const OB_TENANT_VIRTUAL_SHOW_CREATE_TABLE_TNAME = "__tenant_virtual_show_create_table"; +const char *const OB_TENANT_VIRTUAL_SESSION_VARIABLE_TNAME = "__tenant_virtual_session_variable"; +const char *const OB_TENANT_VIRTUAL_PRIVILEGE_GRANT_TNAME = "__tenant_virtual_privilege_grant"; +const char *const OB_ALL_VIRTUAL_PROCESSLIST_TNAME = "__all_virtual_processlist"; +const char *const OB_TENANT_VIRTUAL_WARNING_TNAME = "__tenant_virtual_warning"; +const char *const OB_TENANT_VIRTUAL_CURRENT_TENANT_TNAME = "__tenant_virtual_current_tenant"; +const char *const OB_TENANT_VIRTUAL_DATABASE_STATUS_TNAME = "__tenant_virtual_database_status"; +const char *const OB_TENANT_VIRTUAL_TENANT_STATUS_TNAME = "__tenant_virtual_tenant_status"; +const char *const OB_TENANT_VIRTUAL_INTERM_RESULT_TNAME = "__tenant_virtual_interm_result"; +const char *const OB_TENANT_VIRTUAL_PARTITION_STAT_TNAME = "__tenant_virtual_partition_stat"; +const char *const OB_TENANT_VIRTUAL_STATNAME_TNAME = "__tenant_virtual_statname"; +const char *const OB_TENANT_VIRTUAL_EVENT_NAME_TNAME = "__tenant_virtual_event_name"; +const char *const OB_TENANT_VIRTUAL_GLOBAL_VARIABLE_TNAME = "__tenant_virtual_global_variable"; +const char *const OB_ALL_VIRTUAL_CORE_META_TABLE_TNAME = "__all_virtual_core_meta_table"; +const char *const OB_ALL_VIRTUAL_ZONE_STAT_TNAME = "__all_virtual_zone_stat"; +const char *const OB_ALL_VIRTUAL_PLAN_CACHE_STAT_TNAME = "__all_virtual_plan_cache_stat"; +const char *const OB_ALL_VIRTUAL_PLAN_STAT_TNAME = "__all_virtual_plan_stat"; +const char *const OB_ALL_VIRTUAL_MEM_LEAK_CHECKER_INFO_TNAME = "__all_virtual_mem_leak_checker_info"; +const char *const OB_ALL_VIRTUAL_LATCH_TNAME = "__all_virtual_latch"; +const char *const OB_ALL_VIRTUAL_KVCACHE_INFO_TNAME = "__all_virtual_kvcache_info"; +const char *const OB_ALL_VIRTUAL_DATA_TYPE_CLASS_TNAME = "__all_virtual_data_type_class"; +const char *const OB_ALL_VIRTUAL_DATA_TYPE_TNAME = "__all_virtual_data_type"; +const char *const OB_ALL_VIRTUAL_SERVER_STAT_TNAME = "__all_virtual_server_stat"; +const char *const OB_ALL_VIRTUAL_REBALANCE_TASK_STAT_TNAME = "__all_virtual_rebalance_task_stat"; +const char *const OB_ALL_VIRTUAL_SESSION_EVENT_TNAME = "__all_virtual_session_event"; +const char *const OB_ALL_VIRTUAL_SESSION_WAIT_TNAME = "__all_virtual_session_wait"; +const char *const OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_TNAME = "__all_virtual_session_wait_history"; +const char *const OB_ALL_VIRTUAL_SYSTEM_EVENT_TNAME = "__all_virtual_system_event"; +const char *const OB_ALL_VIRTUAL_TENANT_MEMSTORE_INFO_TNAME = "__all_virtual_tenant_memstore_info"; +const char *const OB_ALL_VIRTUAL_CONCURRENCY_OBJECT_POOL_TNAME = "__all_virtual_concurrency_object_pool"; +const char *const OB_ALL_VIRTUAL_SESSTAT_TNAME = "__all_virtual_sesstat"; +const char *const OB_ALL_VIRTUAL_SYSSTAT_TNAME = "__all_virtual_sysstat"; +const char *const OB_ALL_VIRTUAL_STORAGE_STAT_TNAME = "__all_virtual_storage_stat"; +const char *const OB_ALL_VIRTUAL_DISK_STAT_TNAME = "__all_virtual_disk_stat"; +const char *const OB_ALL_VIRTUAL_MEMSTORE_INFO_TNAME = "__all_virtual_memstore_info"; +const char *const OB_ALL_VIRTUAL_PARTITION_INFO_TNAME = "__all_virtual_partition_info"; +const char *const OB_ALL_VIRTUAL_UPGRADE_INSPECTION_TNAME = "__all_virtual_upgrade_inspection"; +const char *const OB_ALL_VIRTUAL_TRANS_STAT_TNAME = "__all_virtual_trans_stat"; +const char *const OB_ALL_VIRTUAL_TRANS_MGR_STAT_TNAME = "__all_virtual_trans_mgr_stat"; +const char *const OB_ALL_VIRTUAL_ELECTION_INFO_TNAME = "__all_virtual_election_info"; +const char *const OB_ALL_VIRTUAL_ELECTION_MEM_STAT_TNAME = "__all_virtual_election_mem_stat"; +const char *const OB_ALL_VIRTUAL_SQL_AUDIT_TNAME = "__all_virtual_sql_audit"; +const char *const OB_ALL_VIRTUAL_TRANS_MEM_STAT_TNAME = "__all_virtual_trans_mem_stat"; const char *const OB_ALL_VIRTUAL_PARTITION_SSTABLE_IMAGE_INFO_TNAME = "__all_virtual_partition_sstable_image_info"; -const char *const OB_ALL_VIRTUAL_CORE_ROOT_TABLE_TNAME = "__all_virtual_core_root_table"; -const char *const OB_ALL_VIRTUAL_CORE_ALL_TABLE_TNAME = "__all_virtual_core_all_table"; -const char *const OB_ALL_VIRTUAL_CORE_COLUMN_TABLE_TNAME = "__all_virtual_core_column_table"; -const char *const OB_ALL_VIRTUAL_MEMORY_INFO_TNAME = "__all_virtual_memory_info"; -const char *const OB_ALL_VIRTUAL_TENANT_STAT_TNAME = "__all_virtual_tenant_stat"; -const char *const OB_ALL_VIRTUAL_SYS_PARAMETER_STAT_TNAME = "__all_virtual_sys_parameter_stat"; -const char *const OB_ALL_VIRTUAL_PARTITION_REPLAY_STATUS_TNAME = "__all_virtual_partition_replay_status"; -const char *const OB_ALL_VIRTUAL_CLOG_STAT_TNAME = "__all_virtual_clog_stat"; -const char *const OB_ALL_VIRTUAL_TRACE_LOG_TNAME = "__all_virtual_trace_log"; -const char *const OB_ALL_VIRTUAL_ENGINE_TNAME = "__all_virtual_engine"; -const char *const OB_ALL_VIRTUAL_PROXY_SERVER_STAT_TNAME = "__all_virtual_proxy_server_stat"; -const char *const OB_ALL_VIRTUAL_PROXY_SYS_VARIABLE_TNAME = "__all_virtual_proxy_sys_variable"; -const char *const OB_ALL_VIRTUAL_PROXY_SCHEMA_TNAME = "__all_virtual_proxy_schema"; -const char *const OB_ALL_VIRTUAL_PLAN_CACHE_PLAN_EXPLAIN_TNAME = "__all_virtual_plan_cache_plan_explain"; -const char *const OB_ALL_VIRTUAL_OBRPC_STAT_TNAME = "__all_virtual_obrpc_stat"; -const char *const OB_ALL_VIRTUAL_SQL_PLAN_MONITOR_TNAME = "__all_virtual_sql_plan_monitor"; +const char *const OB_ALL_VIRTUAL_CORE_ROOT_TABLE_TNAME = "__all_virtual_core_root_table"; +const char *const OB_ALL_VIRTUAL_CORE_ALL_TABLE_TNAME = "__all_virtual_core_all_table"; +const char *const OB_ALL_VIRTUAL_CORE_COLUMN_TABLE_TNAME = "__all_virtual_core_column_table"; +const char *const OB_ALL_VIRTUAL_MEMORY_INFO_TNAME = "__all_virtual_memory_info"; +const char *const OB_ALL_VIRTUAL_TENANT_STAT_TNAME = "__all_virtual_tenant_stat"; +const char *const OB_ALL_VIRTUAL_SYS_PARAMETER_STAT_TNAME = "__all_virtual_sys_parameter_stat"; +const char *const OB_ALL_VIRTUAL_PARTITION_REPLAY_STATUS_TNAME = "__all_virtual_partition_replay_status"; +const char *const OB_ALL_VIRTUAL_CLOG_STAT_TNAME = "__all_virtual_clog_stat"; +const char *const OB_ALL_VIRTUAL_TRACE_LOG_TNAME = "__all_virtual_trace_log"; +const char *const OB_ALL_VIRTUAL_ENGINE_TNAME = "__all_virtual_engine"; +const char *const OB_ALL_VIRTUAL_PROXY_SERVER_STAT_TNAME = "__all_virtual_proxy_server_stat"; +const char *const OB_ALL_VIRTUAL_PROXY_SYS_VARIABLE_TNAME = "__all_virtual_proxy_sys_variable"; +const char *const OB_ALL_VIRTUAL_PROXY_SCHEMA_TNAME = "__all_virtual_proxy_schema"; +const char *const OB_ALL_VIRTUAL_PLAN_CACHE_PLAN_EXPLAIN_TNAME = "__all_virtual_plan_cache_plan_explain"; +const char *const OB_ALL_VIRTUAL_OBRPC_STAT_TNAME = "__all_virtual_obrpc_stat"; +const char *const OB_ALL_VIRTUAL_SQL_PLAN_MONITOR_TNAME = "__all_virtual_sql_plan_monitor"; const char *const OB_ALL_VIRTUAL_PARTITION_SSTABLE_MERGE_INFO_TNAME = "__all_virtual_partition_sstable_merge_info"; -const char *const OB_ALL_VIRTUAL_SQL_MONITOR_TNAME = "__all_virtual_sql_monitor"; -const char *const OB_TENANT_VIRTUAL_OUTLINE_TNAME = "__tenant_virtual_outline"; -const char *const OB_TENANT_VIRTUAL_CONCURRENT_LIMIT_SQL_TNAME = "__tenant_virtual_concurrent_limit_sql"; -const char *const OB_ALL_VIRTUAL_SQL_PLAN_STATISTICS_TNAME = "__all_virtual_sql_plan_statistics"; +const char *const OB_ALL_VIRTUAL_SQL_MONITOR_TNAME = "__all_virtual_sql_monitor"; +const char *const OB_TENANT_VIRTUAL_OUTLINE_TNAME = "__tenant_virtual_outline"; +const char *const OB_TENANT_VIRTUAL_CONCURRENT_LIMIT_SQL_TNAME = "__tenant_virtual_concurrent_limit_sql"; +const char *const OB_ALL_VIRTUAL_SQL_PLAN_STATISTICS_TNAME = "__all_virtual_sql_plan_statistics"; const char *const OB_ALL_VIRTUAL_PARTITION_SSTABLE_MACRO_INFO_TNAME = "__all_virtual_partition_sstable_macro_info"; -const char *const OB_ALL_VIRTUAL_PROXY_PARTITION_INFO_TNAME = "__all_virtual_proxy_partition_info"; -const char *const OB_ALL_VIRTUAL_PROXY_PARTITION_TNAME = "__all_virtual_proxy_partition"; -const char *const OB_ALL_VIRTUAL_PROXY_SUB_PARTITION_TNAME = "__all_virtual_proxy_sub_partition"; -const char *const OB_ALL_VIRTUAL_PROXY_ROUTE_TNAME = "__all_virtual_proxy_route"; -const char *const OB_ALL_VIRTUAL_REBALANCE_TENANT_STAT_TNAME = "__all_virtual_rebalance_tenant_stat"; -const char *const OB_ALL_VIRTUAL_REBALANCE_UNIT_STAT_TNAME = "__all_virtual_rebalance_unit_stat"; -const char *const OB_ALL_VIRTUAL_REBALANCE_REPLICA_STAT_TNAME = "__all_virtual_rebalance_replica_stat"; +const char *const OB_ALL_VIRTUAL_PROXY_PARTITION_INFO_TNAME = "__all_virtual_proxy_partition_info"; +const char *const OB_ALL_VIRTUAL_PROXY_PARTITION_TNAME = "__all_virtual_proxy_partition"; +const char *const OB_ALL_VIRTUAL_PROXY_SUB_PARTITION_TNAME = "__all_virtual_proxy_sub_partition"; +const char *const OB_ALL_VIRTUAL_PROXY_ROUTE_TNAME = "__all_virtual_proxy_route"; +const char *const OB_ALL_VIRTUAL_REBALANCE_TENANT_STAT_TNAME = "__all_virtual_rebalance_tenant_stat"; +const char *const OB_ALL_VIRTUAL_REBALANCE_UNIT_STAT_TNAME = "__all_virtual_rebalance_unit_stat"; +const char *const OB_ALL_VIRTUAL_REBALANCE_REPLICA_STAT_TNAME = "__all_virtual_rebalance_replica_stat"; const char *const OB_ALL_VIRTUAL_PARTITION_AMPLIFICATION_STAT_TNAME = "__all_virtual_partition_amplification_stat"; -const char *const OB_ALL_VIRTUAL_ELECTION_EVENT_HISTORY_TNAME = "__all_virtual_election_event_history"; +const char *const OB_ALL_VIRTUAL_ELECTION_EVENT_HISTORY_TNAME = "__all_virtual_election_event_history"; const char *const OB_ALL_VIRTUAL_PARTITION_SORTED_STORES_INFO_TNAME = "__all_virtual_partition_sorted_stores_info"; -const char *const OB_ALL_VIRTUAL_LEADER_STAT_TNAME = "__all_virtual_leader_stat"; -const char *const OB_ALL_VIRTUAL_PARTITION_MIGRATION_STATUS_TNAME = "__all_virtual_partition_migration_status"; -const char *const OB_ALL_VIRTUAL_SYS_TASK_STATUS_TNAME = "__all_virtual_sys_task_status"; -const char *const OB_ALL_VIRTUAL_MACRO_BLOCK_MARKER_STATUS_TNAME = "__all_virtual_macro_block_marker_status"; -const char *const OB_COLUMNS_TNAME = "COLUMNS"; -const char *const OB_SESSION_VARIABLES_TNAME = "SESSION_VARIABLES"; -const char *const OB_TABLE_PRIVILEGES_TNAME = "TABLE_PRIVILEGES"; -const char *const OB_USER_PRIVILEGES_TNAME = "USER_PRIVILEGES"; -const char *const OB_SCHEMA_PRIVILEGES_TNAME = "SCHEMA_PRIVILEGES"; -const char *const OB_TABLE_CONSTRAINTS_TNAME = "TABLE_CONSTRAINTS"; -const char *const OB_GLOBAL_STATUS_TNAME = "GLOBAL_STATUS"; -const char *const OB_PARTITIONS_TNAME = "PARTITIONS"; -const char *const OB_SESSION_STATUS_TNAME = "SESSION_STATUS"; -const char *const OB_USER_TNAME = "user"; -const char *const OB_DB_TNAME = "db"; -const char *const OB_ALL_VIRTUAL_SERVER_MEMORY_INFO_TNAME = "__all_virtual_server_memory_info"; -const char *const OB_GV_PLAN_CACHE_STAT_TNAME = "gv$plan_cache_stat"; -const char *const OB_GV_PLAN_CACHE_PLAN_STAT_TNAME = "gv$plan_cache_plan_stat"; -const char *const OB_SCHEMATA_TNAME = "SCHEMATA"; -const char *const OB_CHARACTER_SETS_TNAME = "CHARACTER_SETS"; -const char *const OB_GLOBAL_VARIABLES_TNAME = "GLOBAL_VARIABLES"; -const char *const OB_STATISTICS_TNAME = "STATISTICS"; -const char *const OB_VIEWS_TNAME = "VIEWS"; -const char *const OB_TABLES_TNAME = "TABLES"; -const char *const OB_COLLATIONS_TNAME = "COLLATIONS"; -const char *const OB_COLLATION_CHARACTER_SET_APPLICABILITY_TNAME = "COLLATION_CHARACTER_SET_APPLICABILITY"; -const char *const OB_PROCESSLIST_TNAME = "PROCESSLIST"; -const char *const OB_KEY_COLUMN_USAGE_TNAME = "KEY_COLUMN_USAGE"; -const char *const OB_DBA_OUTLINES_TNAME = "DBA_OUTLINES"; -const char *const OB_GV_SESSION_EVENT_TNAME = "gv$session_event"; -const char *const OB_GV_SESSION_WAIT_TNAME = "gv$session_wait"; -const char *const OB_GV_SESSION_WAIT_HISTORY_TNAME = "gv$session_wait_history"; -const char *const OB_GV_SYSTEM_EVENT_TNAME = "gv$system_event"; -const char *const OB_GV_SESSTAT_TNAME = "gv$sesstat"; -const char *const OB_GV_SYSSTAT_TNAME = "gv$sysstat"; -const char *const OB_V_STATNAME_TNAME = "v$statname"; -const char *const OB_V_EVENT_NAME_TNAME = "v$event_name"; -const char *const OB_V_SESSION_EVENT_TNAME = "v$session_event"; -const char *const OB_V_SESSION_WAIT_TNAME = "v$session_wait"; -const char *const OB_V_SESSION_WAIT_HISTORY_TNAME = "v$session_wait_history"; -const char *const OB_V_SESSTAT_TNAME = "v$sesstat"; -const char *const OB_V_SYSSTAT_TNAME = "v$sysstat"; -const char *const OB_V_SYSTEM_EVENT_TNAME = "v$system_event"; -const char *const OB_GV_SQL_AUDIT_TNAME = "gv$sql_audit"; -const char *const OB_GV_LATCH_TNAME = "gv$latch"; -const char *const OB_GV_MEMORY_TNAME = "gv$memory"; -const char *const OB_V_MEMORY_TNAME = "v$memory"; -const char *const OB_GV_MEMSTORE_TNAME = "gv$memstore"; -const char *const OB_V_MEMSTORE_TNAME = "v$memstore"; -const char *const OB_GV_MEMSTORE_INFO_TNAME = "gv$memstore_info"; -const char *const OB_V_MEMSTORE_INFO_TNAME = "v$memstore_info"; -const char *const OB_V_PLAN_CACHE_STAT_TNAME = "v$plan_cache_stat"; -const char *const OB_V_PLAN_CACHE_PLAN_STAT_TNAME = "v$plan_cache_plan_stat"; -const char *const OB_GV_PLAN_CACHE_PLAN_EXPLAIN_TNAME = "gv$plan_cache_plan_explain"; -const char *const OB_V_PLAN_CACHE_PLAN_EXPLAIN_TNAME = "v$plan_cache_plan_explain"; -const char *const OB_V_SQL_AUDIT_TNAME = "v$sql_audit"; -const char *const OB_V_LATCH_TNAME = "v$latch"; -const char *const OB_GV_OBRPC_OUTGOING_TNAME = "gv$obrpc_outgoing"; -const char *const OB_V_OBRPC_OUTGOING_TNAME = "v$obrpc_outgoing"; -const char *const OB_GV_OBRPC_INCOMING_TNAME = "gv$obrpc_incoming"; -const char *const OB_V_OBRPC_INCOMING_TNAME = "v$obrpc_incoming"; -const char *const OB_GV_SQL_TNAME = "gv$sql"; -const char *const OB_V_SQL_TNAME = "v$sql"; -const char *const OB_GV_SQL_MONITOR_TNAME = "gv$sql_monitor"; -const char *const OB_V_SQL_MONITOR_TNAME = "v$sql_monitor"; -const char *const OB_GV_SQL_PLAN_MONITOR_TNAME = "gv$sql_plan_monitor"; -const char *const OB_V_SQL_PLAN_MONITOR_TNAME = "v$sql_plan_monitor"; -const char *const OB_USER_RECYCLEBIN_TNAME = "USER_RECYCLEBIN"; -const char *const OB_GV_OUTLINE_TNAME = "gv$outline"; -const char *const OB_GV_CONCURRENT_LIMIT_SQL_TNAME = "gv$concurrent_limit_sql"; -const char *const OB_GV_SQL_PLAN_STATISTICS_TNAME = "gv$sql_plan_statistics"; -const char *const OB_V_SQL_PLAN_STATISTICS_TNAME = "v$sql_plan_statistics"; -const char *const OB_GV_SERVER_MEMSTORE_TNAME = "gv$server_memstore"; -const char *const OB_TIME_ZONE_TNAME = "time_zone"; -const char *const OB_TIME_ZONE_NAME_TNAME = "time_zone_name"; -const char *const OB_TIME_ZONE_TRANSITION_TNAME = "time_zone_transition"; -const char *const OB_TIME_ZONE_TRANSITION_TYPE_TNAME = "time_zone_transition_type"; -const char *const OB_ALL_VIRTUAL_PLAN_CACHE_STAT_I1_TNAME = "__idx_1099511638779_i1"; -const char *const OB_ALL_VIRTUAL_SESSION_EVENT_I1_TNAME = "__idx_1099511638789_i1"; -const char *const OB_ALL_VIRTUAL_SESSION_WAIT_I1_TNAME = "__idx_1099511638790_i1"; -const char *const OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_I1_TNAME = "__idx_1099511638791_i1"; -const char *const OB_ALL_VIRTUAL_SYSTEM_EVENT_I1_TNAME = "__idx_1099511638793_i1"; -const char *const OB_ALL_VIRTUAL_SESSTAT_I1_TNAME = "__idx_1099511638796_i1"; -const char *const OB_ALL_VIRTUAL_SYSSTAT_I1_TNAME = "__idx_1099511638797_i1"; -const char *const OB_ALL_VIRTUAL_SQL_AUDIT_I1_TNAME = "__idx_1099511638807_i1"; +const char *const OB_ALL_VIRTUAL_LEADER_STAT_TNAME = "__all_virtual_leader_stat"; +const char *const OB_ALL_VIRTUAL_PARTITION_MIGRATION_STATUS_TNAME = "__all_virtual_partition_migration_status"; +const char *const OB_ALL_VIRTUAL_SYS_TASK_STATUS_TNAME = "__all_virtual_sys_task_status"; +const char *const OB_ALL_VIRTUAL_MACRO_BLOCK_MARKER_STATUS_TNAME = "__all_virtual_macro_block_marker_status"; +const char *const OB_COLUMNS_TNAME = "COLUMNS"; +const char *const OB_SESSION_VARIABLES_TNAME = "SESSION_VARIABLES"; +const char *const OB_TABLE_PRIVILEGES_TNAME = "TABLE_PRIVILEGES"; +const char *const OB_USER_PRIVILEGES_TNAME = "USER_PRIVILEGES"; +const char *const OB_SCHEMA_PRIVILEGES_TNAME = "SCHEMA_PRIVILEGES"; +const char *const OB_TABLE_CONSTRAINTS_TNAME = "TABLE_CONSTRAINTS"; +const char *const OB_GLOBAL_STATUS_TNAME = "GLOBAL_STATUS"; +const char *const OB_PARTITIONS_TNAME = "PARTITIONS"; +const char *const OB_SESSION_STATUS_TNAME = "SESSION_STATUS"; +const char *const OB_USER_TNAME = "user"; +const char *const OB_DB_TNAME = "db"; +const char *const OB_ALL_VIRTUAL_SERVER_MEMORY_INFO_TNAME = "__all_virtual_server_memory_info"; +const char *const OB_GV_PLAN_CACHE_STAT_TNAME = "gv$plan_cache_stat"; +const char *const OB_GV_PLAN_CACHE_PLAN_STAT_TNAME = "gv$plan_cache_plan_stat"; +const char *const OB_SCHEMATA_TNAME = "SCHEMATA"; +const char *const OB_CHARACTER_SETS_TNAME = "CHARACTER_SETS"; +const char *const OB_GLOBAL_VARIABLES_TNAME = "GLOBAL_VARIABLES"; +const char *const OB_STATISTICS_TNAME = "STATISTICS"; +const char *const OB_VIEWS_TNAME = "VIEWS"; +const char *const OB_TABLES_TNAME = "TABLES"; +const char *const OB_COLLATIONS_TNAME = "COLLATIONS"; +const char *const OB_COLLATION_CHARACTER_SET_APPLICABILITY_TNAME = "COLLATION_CHARACTER_SET_APPLICABILITY"; +const char *const OB_PROCESSLIST_TNAME = "PROCESSLIST"; +const char *const OB_KEY_COLUMN_USAGE_TNAME = "KEY_COLUMN_USAGE"; +const char *const OB_DBA_OUTLINES_TNAME = "DBA_OUTLINES"; +const char *const OB_GV_SESSION_EVENT_TNAME = "gv$session_event"; +const char *const OB_GV_SESSION_WAIT_TNAME = "gv$session_wait"; +const char *const OB_GV_SESSION_WAIT_HISTORY_TNAME = "gv$session_wait_history"; +const char *const OB_GV_SYSTEM_EVENT_TNAME = "gv$system_event"; +const char *const OB_GV_SESSTAT_TNAME = "gv$sesstat"; +const char *const OB_GV_SYSSTAT_TNAME = "gv$sysstat"; +const char *const OB_V_STATNAME_TNAME = "v$statname"; +const char *const OB_V_EVENT_NAME_TNAME = "v$event_name"; +const char *const OB_V_SESSION_EVENT_TNAME = "v$session_event"; +const char *const OB_V_SESSION_WAIT_TNAME = "v$session_wait"; +const char *const OB_V_SESSION_WAIT_HISTORY_TNAME = "v$session_wait_history"; +const char *const OB_V_SESSTAT_TNAME = "v$sesstat"; +const char *const OB_V_SYSSTAT_TNAME = "v$sysstat"; +const char *const OB_V_SYSTEM_EVENT_TNAME = "v$system_event"; +const char *const OB_GV_SQL_AUDIT_TNAME = "gv$sql_audit"; +const char *const OB_GV_LATCH_TNAME = "gv$latch"; +const char *const OB_GV_MEMORY_TNAME = "gv$memory"; +const char *const OB_V_MEMORY_TNAME = "v$memory"; +const char *const OB_GV_MEMSTORE_TNAME = "gv$memstore"; +const char *const OB_V_MEMSTORE_TNAME = "v$memstore"; +const char *const OB_GV_MEMSTORE_INFO_TNAME = "gv$memstore_info"; +const char *const OB_V_MEMSTORE_INFO_TNAME = "v$memstore_info"; +const char *const OB_V_PLAN_CACHE_STAT_TNAME = "v$plan_cache_stat"; +const char *const OB_V_PLAN_CACHE_PLAN_STAT_TNAME = "v$plan_cache_plan_stat"; +const char *const OB_GV_PLAN_CACHE_PLAN_EXPLAIN_TNAME = "gv$plan_cache_plan_explain"; +const char *const OB_V_PLAN_CACHE_PLAN_EXPLAIN_TNAME = "v$plan_cache_plan_explain"; +const char *const OB_V_SQL_AUDIT_TNAME = "v$sql_audit"; +const char *const OB_V_LATCH_TNAME = "v$latch"; +const char *const OB_GV_OBRPC_OUTGOING_TNAME = "gv$obrpc_outgoing"; +const char *const OB_V_OBRPC_OUTGOING_TNAME = "v$obrpc_outgoing"; +const char *const OB_GV_OBRPC_INCOMING_TNAME = "gv$obrpc_incoming"; +const char *const OB_V_OBRPC_INCOMING_TNAME = "v$obrpc_incoming"; +const char *const OB_GV_SQL_TNAME = "gv$sql"; +const char *const OB_V_SQL_TNAME = "v$sql"; +const char *const OB_GV_SQL_MONITOR_TNAME = "gv$sql_monitor"; +const char *const OB_V_SQL_MONITOR_TNAME = "v$sql_monitor"; +const char *const OB_GV_SQL_PLAN_MONITOR_TNAME = "gv$sql_plan_monitor"; +const char *const OB_V_SQL_PLAN_MONITOR_TNAME = "v$sql_plan_monitor"; +const char *const OB_USER_RECYCLEBIN_TNAME = "USER_RECYCLEBIN"; +const char *const OB_GV_OUTLINE_TNAME = "gv$outline"; +const char *const OB_GV_CONCURRENT_LIMIT_SQL_TNAME = "gv$concurrent_limit_sql"; +const char *const OB_GV_SQL_PLAN_STATISTICS_TNAME = "gv$sql_plan_statistics"; +const char *const OB_V_SQL_PLAN_STATISTICS_TNAME = "v$sql_plan_statistics"; +const char *const OB_GV_SERVER_MEMSTORE_TNAME = "gv$server_memstore"; +const char *const OB_TIME_ZONE_TNAME = "time_zone"; +const char *const OB_TIME_ZONE_NAME_TNAME = "time_zone_name"; +const char *const OB_TIME_ZONE_TRANSITION_TNAME = "time_zone_transition"; +const char *const OB_TIME_ZONE_TRANSITION_TYPE_TNAME = "time_zone_transition_type"; +const char *const OB_ALL_VIRTUAL_PLAN_CACHE_STAT_I1_TNAME = "__idx_1099511638779_i1"; +const char *const OB_ALL_VIRTUAL_SESSION_EVENT_I1_TNAME = "__idx_1099511638789_i1"; +const char *const OB_ALL_VIRTUAL_SESSION_WAIT_I1_TNAME = "__idx_1099511638790_i1"; +const char *const OB_ALL_VIRTUAL_SESSION_WAIT_HISTORY_I1_TNAME = "__idx_1099511638791_i1"; +const char *const OB_ALL_VIRTUAL_SYSTEM_EVENT_I1_TNAME = "__idx_1099511638793_i1"; +const char *const OB_ALL_VIRTUAL_SESSTAT_I1_TNAME = "__idx_1099511638796_i1"; +const char *const OB_ALL_VIRTUAL_SYSSTAT_I1_TNAME = "__idx_1099511638797_i1"; +const char *const OB_ALL_VIRTUAL_SQL_AUDIT_I1_TNAME = "__idx_1099511638807_i1"; // initial data for __all_privilege struct PrivilegeRow { @@ -493,22 +493,22 @@ struct PrivilegeRow { const char *comment_; }; - const char* const ALTER_TB_MSG = "To alter the table"; - const char* const CREATE_DB_TB_MSG = "To create new databases and tables"; - const char* const CREATE_VIEW_MSG = "To create new views"; - const char* const CREATE_USER_MSG = "To create new users"; - const char* const DELETE_ROWS_MSG = "To delete existing rows"; - const char* const DROP_DB_TB_VIEWS_MSG = "To drop databases, tables, and views"; - const char* const GRANT_OPTION_MSG = "To give to other users those privileges you possess"; - const char* const INDEX_MSG = "To create or drop indexes"; - const char* const INSERT_MSG = "To insert data into tables"; - const char* const PROCESS_MSG = "To view the plain text of currently executing queries"; - const char* const SELECT_MSG = "To retrieve rows from table"; - const char* const SHOW_DB_MSG = "To see all databases with SHOW DATABASES"; - const char* const SHOW_VIEW_MSG = "To see views with SHOW CREATE VIEW"; - const char* const SUPER_MSG = "To use KILL thread, SET GLOBAL, CHANGE MASTER, etc."; - const char* const UPDATE_MSG = "To update existing rows"; - const char* const USAGE_MSG = "No privileges - allow connect only"; +const char* const ALTER_TB_MSG = "To alter the table"; +const char* const CREATE_DB_TB_MSG = "To create new databases and tables"; +const char* const CREATE_VIEW_MSG = "To create new views"; +const char* const CREATE_USER_MSG = "To create new users"; +const char* const DELETE_ROWS_MSG = "To delete existing rows"; +const char* const DROP_DB_TB_VIEWS_MSG = "To drop databases, tables, and views"; +const char* const GRANT_OPTION_MSG = "To give to other users those privileges you possess"; +const char* const INDEX_MSG = "To create or drop indexes"; +const char* const INSERT_MSG = "To insert data into tables"; +const char* const PROCESS_MSG = "To view the plain text of currently executing queries"; +const char* const SELECT_MSG = "To retrieve rows from table"; +const char* const SHOW_DB_MSG = "To see all databases with SHOW DATABASES"; +const char* const SHOW_VIEW_MSG = "To see views with SHOW CREATE VIEW"; +const char* const SUPER_MSG = "To use KILL thread, SET GLOBAL, CHANGE MASTER, etc."; +const char* const UPDATE_MSG = "To update existing rows"; +const char* const USAGE_MSG = "No privileges - allow connect only"; static const PrivilegeRow all_privileges[] = { {"Alter", "Tables", ALTER_TB_MSG}, diff --git a/src/share/schema/ob_column_schema.h b/src/share/schema/ob_column_schema.h index 20848aa6612c7bdf714b6801fa8098ec9266dccf..a55a1716454699af418a0343cd424e2c57b2dc36 100644 --- a/src/share/schema/ob_column_schema.h +++ b/src/share/schema/ob_column_schema.h @@ -32,21 +32,21 @@ namespace share namespace schema { -const char *const STR_COLUMN_TYPE_INT = "int"; -const char *const STR_COLUMN_TYPE_UINT64 = "uint64"; -const char *const STR_COLUMN_TYPE_FLOAT = "float"; -const char *const STR_COLUMN_TYPE_UFLOAT = "ufloat"; -const char *const STR_COLUMN_TYPE_DOUBLE = "double"; -const char *const STR_COLUMN_TYPE_UDOUBLE = "udouble"; -const char *const STR_COLUMN_TYPE_VCHAR = "varchar"; -const char *const STR_COLUMN_TYPE_DATETIME = "datetime"; -const char *const STR_COLUMN_TYPE_TIMESTAMP = "timestamp"; +const char *const STR_COLUMN_TYPE_INT = "int"; +const char *const STR_COLUMN_TYPE_UINT64 = "uint64"; +const char *const STR_COLUMN_TYPE_FLOAT = "float"; +const char *const STR_COLUMN_TYPE_UFLOAT = "ufloat"; +const char *const STR_COLUMN_TYPE_DOUBLE = "double"; +const char *const STR_COLUMN_TYPE_UDOUBLE = "udouble"; +const char *const STR_COLUMN_TYPE_VCHAR = "varchar"; +const char *const STR_COLUMN_TYPE_DATETIME = "datetime"; +const char *const STR_COLUMN_TYPE_TIMESTAMP = "timestamp"; const char *const STR_COLUMN_TYPE_PRECISE_DATETIME = "precise_datetime"; -const char *const STR_COLUMN_TYPE_C_TIME = "create_time"; -const char *const STR_COLUMN_TYPE_M_TIME = "modify_time"; -const char *const STR_COLUMN_TYPE_BOOLEAN = "bool"; -const char *const STR_COLUMN_TYPE_NUMBER = "number"; -const char *const STR_COLUMN_TYPE_UNKNOWN = "unknown"; +const char *const STR_COLUMN_TYPE_C_TIME = "create_time"; +const char *const STR_COLUMN_TYPE_M_TIME = "modify_time"; +const char *const STR_COLUMN_TYPE_BOOLEAN = "bool"; +const char *const STR_COLUMN_TYPE_NUMBER = "number"; +const char *const STR_COLUMN_TYPE_UNKNOWN = "unknown"; class ObTableSchema; class ObColumnSchemaV2 : public ObSchema diff --git a/unittest/obproxy/parser/runner.py b/unittest/obproxy/parser/runner.py index f1323598ce325762fd59119eb6b6b7e882c296a3..b79142c9b0448d0a81cfbd45b17381f480ef79bb 100755 --- a/unittest/obproxy/parser/runner.py +++ b/unittest/obproxy/parser/runner.py @@ -45,7 +45,7 @@ class MainHandler(): if (os.path.isfile(self.opt.base_parser)): run_cmd("./%s -f %s -r %s" % (self.opt.base_parser, self.opt.test_case, result_file_name)) else: - url = 'http://10.218.248.181:7788/obproxy_build/%s' % self.opt.base_parser + url = 'http://ip:port/obproxy_build/%s' % self.opt.base_parser print 'get base parser from %s' % url run_cmd("wget %s -O %s &>/dev/null && chmod a+x %s" % (url, self.opt.base_parser, self.opt.base_parser)) if (os.path.isfile(self.opt.base_parser)): diff --git a/unittest/obproxy/test_config_server_processor.cpp b/unittest/obproxy/test_config_server_processor.cpp index 9478079668f39ea0ea40c906a835d3dae442e864..057b526623a5e25794d6416c7a18e6c5069803e1 100644 --- a/unittest/obproxy/test_config_server_processor.cpp +++ b/unittest/obproxy/test_config_server_processor.cpp @@ -210,12 +210,11 @@ TEST_F(TestConfigServerProcessor, test_get_json_config_info) { int ret = OB_SUCCESS; config_processor_.proxy_config_.app_name.set_value("ob1.kyle.sj"); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153:8080/diamond/cgi/a.py?key=unittest_test_config_server.proxy&method=get"); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); ret = config_processor_.refresh_json_config_info(); ASSERT_EQ(OB_SUCCESS, ret); ASSERT_EQ(0, memcmp(config_processor_.json_config_info_->data_info_.bin_url_.ptr(), - "http://11.166.86.153:8877", config_processor_.json_config_info_->data_info_.bin_url_.length())); + "", config_processor_.json_config_info_->data_info_.bin_url_.length())); ASSERT_EQ(0, memcmp(config_processor_.json_config_info_->data_info_.meta_table_info_.db_.ptr(), "oceanbase", config_processor_.json_config_info_->data_info_.meta_table_info_.db_.length())); ASSERT_EQ(0, memcmp(config_processor_.json_config_info_->data_info_.meta_table_info_.username_.ptr(), @@ -224,8 +223,7 @@ TEST_F(TestConfigServerProcessor, test_get_json_config_info) "admin", config_processor_.json_config_info_->data_info_.meta_table_info_.password_.length())); ASSERT_EQ(1, config_processor_.json_config_info_->data_info_.cluster_array_.count()); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153:8899/xxx"); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); ret = config_processor_.refresh_json_config_info(); ASSERT_EQ(OB_CURL_ERROR, ret); } @@ -238,22 +236,19 @@ TEST_F(TestConfigServerProcessor, test_do_fetch_json_config) ObString content; content.assign_buffer(buf, OB_PROXY_CONFIG_BUFFER_SIZE); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153:8080/diamond/cgi/a.py?key=unittest_test_config_server.proxy&method=get"); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); const char *config_url = config_processor_.proxy_config_.obproxy_config_server_url; ret = config_processor_.fetch_by_curl(config_url, ObConfigServerProcessor::CURL_TRANSFER_TIMEOUT, static_cast(&content), ObConfigServerProcessor::write_data); ASSERT_EQ(OB_SUCCESS, ret); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153/xxx"); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); const char *wrong_config_url = config_processor_.proxy_config_.obproxy_config_server_url; ret = config_processor_.fetch_by_curl(wrong_config_url, ObConfigServerProcessor::CURL_TRANSFER_TIMEOUT, static_cast(&content), ObConfigServerProcessor::write_data); ASSERT_EQ(OB_CURL_ERROR, ret); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153:8888/diamond/cgi/a.py?key=ob1.kyle.sj.test&method=get"); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); const char *wrong_http_port = config_processor_.proxy_config_.obproxy_config_server_url; ret = config_processor_.fetch_by_curl(wrong_http_port, ObConfigServerProcessor::CURL_TRANSFER_TIMEOUT, static_cast(&content), ObConfigServerProcessor::write_data); @@ -263,9 +258,8 @@ TEST_F(TestConfigServerProcessor, test_do_fetch_json_config) TEST_F(TestConfigServerProcessor, test_get_newest_cluster_rs_list) { int ret = OB_SUCCESS; - config_processor_.proxy_config_.app_name.set_value("ob1.kyle.sj"); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153:8080/diamond/cgi/a.py?key=unittest_test_config_server.proxy&method=get"); + config_processor_.proxy_config_.app_name.set_value(""); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); ret = config_processor_.refresh_json_config_info(); ASSERT_EQ(OB_SUCCESS, ret); @@ -279,7 +273,7 @@ TEST_F(TestConfigServerProcessor, test_do_fetch_proxy_bin) { int ret = OB_SUCCESS; const char *save_path = "obproxy_new"; - config_processor_.json_config_info_->data_info_.bin_url_.url_ = ObString::make_string("http://10.125.224.4:9191/method=get"); + config_processor_.json_config_info_->data_info_.bin_url_.url_ = ObString::make_string(""); ret = config_processor_.do_fetch_proxy_bin(save_path, "obproxy.el6.x86_64.rpm"); ASSERT_EQ(OB_SUCCESS, ret); remove(save_path); @@ -293,7 +287,7 @@ TEST_F(TestConfigServerProcessor, test_do_fetch_proxy_bin) ASSERT_EQ(OB_ERR_UNEXPECTED, ret); //test short timeout - const char *bin_url = "http://10.125.224.4:9191/method=get&Version=big.obproxy.el6.x86_64.rpm"; + const char *bin_url = ""; int fd = 0; if ((fd = ::open(save_path, O_WRONLY | O_CREAT, @@ -307,7 +301,7 @@ TEST_F(TestConfigServerProcessor, test_do_fetch_proxy_bin) remove(save_path); //test wrong url - const char *wrong_bin_url = "http://10.125.224.4:9191/method=get&Version=/test_dir/obproxy.el6.x86_64.rpm"; + const char *wrong_bin_url = ""; int64_t fetch_timeout = config_processor_.proxy_config_.fetch_proxy_bin_timeout / 1000000;//us --> s if (fetch_timeout <= 0) { ret = OB_INVALID_ARGUMENT; @@ -324,13 +318,13 @@ TEST_F(TestConfigServerProcessor, test_do_fetch_proxy_bin) TEST_F(TestConfigServerProcessor, test_get_idc_url) { - const char *buf1 = "http://11.166.86.153:8080/oceanbase_obconfig/obtest_jianhua.sjh_10.125.224.4_ob1"; - const char *buf2 = "http://ocp-api.alipay.com/services?Action=ObRootServiceInfo&User_ID=alibaba&UID=zhitao.rzt&ObRegion=rhz_obtrans60"; - const char *buf3 = "http://ocp-api.alipay.com/services?action=obrootserviceinfo&user_id=alibaba&uid=zhitao.rzt&obregion=rhz_obtrans60"; - const char *buf4 = "HTTP://OCP-API.ALIPAY.COM/SERVICES?ACTION=OBROOTSERVICEINFO&USER_ID=ALIBABA&UID=ZHITAO.RZT&OBREGION=RHZ_OBTRANS60"; - const char *expect_buf1 = "http://11.166.86.153:8080/oceanbase_obconfig/obtest_jianhua.sjh_10.125.224.4_ob1_idc_list"; - const char *expect_buf2 = "http://ocp-api.alipay.com/services?Action=ObIDCRegionInfo&User_ID=alibaba&UID=zhitao.rzt&ObRegion=rhz_obtrans60"; - const char *expect_buf3 = "http://ocp-api.alipay.com/services?action=ObIDCRegionInfo&user_id=alibaba&uid=zhitao.rzt&obregion=rhz_obtrans60"; + const char *buf1 = ""; + const char *buf2 = ""; + const char *buf3 = ""; + const char *buf4 = ""; + const char *expect_buf1 = ""; + const char *expect_buf2 = ""; + const char *expect_buf3 = ""; const char *expect_buf4 = "HTTP://OCP-API.ALIPAY.COM/SERVICES?ACTION=ObIDCRegionInfo&USER_ID=ALIBABA&UID=ZHITAO.RZT&OBREGION=RHZ_OBTRANS60"; const int64_t max_size = 256; char common_buf[256]; @@ -364,8 +358,7 @@ TEST_F(TestConfigServerProcessor, test_get_idc_list) { int ret = OB_SUCCESS; config_processor_.proxy_config_.app_name.set_value("ob1.kyle.sj"); - config_processor_.proxy_config_.obproxy_config_server_url.set_value( - "http://11.166.86.153:8080/diamond/cgi/a.py?key=unittest_test_config_server.proxy&method=get"); + config_processor_.proxy_config_.obproxy_config_server_url.set_value(""); ret = config_processor_.refresh_json_config_info(); ASSERT_EQ(OB_SUCCESS, ret); diff --git a/unittest/obproxy/test_proxy_session_info.cpp b/unittest/obproxy/test_proxy_session_info.cpp index bb32a1bee4f745acb0449cbef4dfcf45f3594e35..14bb360b7bf9c52d01d545f31aa1c97a006a976f 100644 --- a/unittest/obproxy/test_proxy_session_info.cpp +++ b/unittest/obproxy/test_proxy_session_info.cpp @@ -49,7 +49,7 @@ TEST_F(TestProxySessionInfo, basic_func) { ObServerSessionInfo session; session.reset(); - ObAddr server(static_cast(4), "10.232.4.4", 3300); + ObAddr server(static_cast(4), "", 3300); session.version_.sys_var_version_ = 100; session.version_.hot_sys_var_version_ = 100; session.version_.user_var_version_ = 1000;