[FEAT MERGE] Merge DBMS_LOCK feature to master
This commit is contained in:
parent
d63cad4745
commit
d2cc567fb3
2
deps/oblib/src/lib/ob_define.h
vendored
2
deps/oblib/src/lib/ob_define.h
vendored
@ -101,7 +101,7 @@ const int64_t MAX_LS_STATE_LENGTH = 16;
|
||||
const int64_t MAX_LOCK_ID_BUF_LENGTH = 64;
|
||||
const int64_t MAX_LOCK_ROWKEY_BUF_LENGTH = 512;
|
||||
const int64_t MAX_LOCK_MODE_BUF_LENGTH = 8;
|
||||
const int64_t MAX_LOCK_OBJ_TYPE_BUF_LENGTH = 8;
|
||||
const int64_t MAX_LOCK_OBJ_TYPE_BUF_LENGTH = 16;
|
||||
const int64_t MAX_LOCK_OP_TYPE_BUF_LENGTH = 32;
|
||||
const int64_t MAX_LOCK_OP_STATUS_BUF_LENGTH = 16;
|
||||
const int64_t MAX_LOCK_OP_EXTRA_INFO_LENGTH = 256;
|
||||
|
@ -105,6 +105,11 @@
|
||||
|
||||
// dbms_lock
|
||||
INTERFACE_DEF(INTERFACE_LOCK_SLEEP_LOCK, "SLEEP_LOCK", (PlPackageLock::sleep))
|
||||
INTERFACE_DEF(INTERFACE_LOCK_ALLOCATE_UNIQUE, "ALLOCATE_UNIQUE_LOCK", (PlPackageLock::allocate_unique_lock))
|
||||
// INTERFACE_DEF(INTERFACE_LOCK_ALLOCATE_UNIQUE_AUTONOMOUS, "ALLOCATE_UNIQUE_LOCK_AUTONOMOUS", (PlPackageLock::allocate_unique_lock_autonomous))
|
||||
// INTERFACE_DEF(INTERFACE_LOCK_CONVERT, "CONVERT_LOCK", (PlPackageLock::convert))
|
||||
// INTERFACE_DEF(INTERFACE_LOCK_RELEASE, "RELEASE_LOCK", (PlPackageLock::release))
|
||||
INTERFACE_DEF(INTERFACE_LOCK_REQUEST, "REQUEST_LOCK", (PlPackageLock::request_lock))
|
||||
// end dbms_lock
|
||||
|
||||
// DBMS_ERRLOG
|
||||
|
@ -2938,6 +2938,140 @@ int ObInnerTableSchema::all_virtual_tenant_parameter_ora_schema(ObTableSchema &t
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_dbms_lock_allocated_real_agent_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_INVALID_ID);
|
||||
table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(VIRTUAL_TABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_IS_NOT);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCollationType::CS_TYPE_UTF8MB4_BIN);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("NAME", //column_name
|
||||
++column_id, //column_id
|
||||
1, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
128, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("LOCKID", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("LOCKHANDLE", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
128, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("EXPIRATION", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampLTZType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
0, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("GMT_CREATE", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampLTZType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
0, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("GMT_MODIFIED", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampLTZType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
0, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(0);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_wr_control_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -338,6 +338,300 @@ int ObInnerTableSchema::all_virtual_flt_config_ora_schema(ObTableSchema &table_s
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_ls_info_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_INVALID_ID);
|
||||
table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_VIRTUAL_LS_INFO_ORA_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(0);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(VIRTUAL_TABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_IS_NOT);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_VIRTUAL_LS_INFO_ORA_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCollationType::CS_TYPE_UTF8MB4_BIN);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("SVR_IP", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
1, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
MAX_IP_ADDR_LENGTH, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("SVR_PORT", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
2, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("TENANT_ID", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("LS_ID", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("REPLICA_TYPE", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
MAX_REPLICA_TYPE_LENGTH, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("LS_STATE", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
MAX_LS_STATE_LENGTH, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("TABLET_COUNT", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("WEAK_READ_SCN", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("NEED_REBUILD", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
MAX_COLUMN_YES_NO_LENGTH, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("CHECKPOINT_SCN", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("CHECKPOINT_LSN", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("MIGRATE_STATUS", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("REBUILD_SEQ", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("TABLET_CHANGE_CHECKPOINT_SCN", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("TRANSFER_SCN", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("TX_BLOCKED", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObNumberType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
38, //column_length
|
||||
38, //column_precision
|
||||
0, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
if (OB_SUCC(ret)) {
|
||||
table_schema.get_part_option().set_part_num(1);
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ONE);
|
||||
table_schema.get_part_option().set_part_func_type(PARTITION_FUNC_TYPE_LIST);
|
||||
if (OB_FAIL(table_schema.get_part_option().set_part_expr("SVR_IP, SVR_PORT"))) {
|
||||
LOG_WARN("set_part_expr failed", K(ret));
|
||||
} else if (OB_FAIL(table_schema.mock_list_partition_array())) {
|
||||
LOG_WARN("mock list partition array failed", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_index_using_type(USING_HASH);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(0);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
} // end namespace share
|
||||
} // end namespace oceanbase
|
||||
|
@ -1960,7 +1960,7 @@ int ObInnerTableSchema::gv_ob_locks_schema(ObTableSchema &table_schema)
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, CASE TYPE WHEN 1 THEN 'TR' WHEN 2 THEN 'TX' WHEN 3 THEN 'TM' ELSE 'UNDEFINED' END AS TYPE, CASE TYPE WHEN 1 THEN TABLET_ID WHEN 2 THEN HOLDER_TRANS_ID WHEN 3 THEN (SELECT DISTINCT OBJ_ID FROM oceanbase.__ALL_VIRTUAL_OBJ_LOCK WHERE oceanbase.__ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY) ELSE -1 END AS ID1, CASE TYPE WHEN 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) WHEN 2 THEN NULL WHEN 3 THEN NULL ELSE 'ERROR' END AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, HOLDER_TRANS_ID AS ID1, NULL AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 1 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 2 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(TRANS_ID, '-'), ROWKEY) AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, TIME_AFTER_RECV AS CTIME, 0 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_TRANS_LOCK_STAT WHERE ROWKEY IS NOT NULL AND ROWKEY <> '' UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, TRANS_ID AS ID1, NULL AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, MIN(TIME_AFTER_RECV) AS CTIME, 0 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_TRANS_LOCK_STAT GROUP BY (TRANS_ID) UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, CREATE_TRANS_ID AS TRANS_ID, 'TM' AS TYPE, OBJ_ID AS ID1, NULL AS ID2, LOCK_MODE AS LMODE, 'NONE' AS REQUEST, TIME_AFTER_CREATE AS CTIME, 0 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_OBJ_LOCK WHERE (OBJ_TYPE = 'TABLE' OR OBJ_TYPE = 'TABLET') AND EXTRA_INFO LIKE '%tx_ctx%' )__"))) {
|
||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, CASE WHEN TYPE = 1 THEN 'TR' WHEN TYPE = 2 THEN 'TX' WHEN TYPE = 3 THEN 'TM' ELSE 'UNDEFINED' END AS TYPE, CASE WHEN TYPE = 1 THEN TABLET_ID WHEN TYPE = 2 THEN HOLDER_TRANS_ID WHEN TYPE = 3 THEN (SELECT DISTINCT OBJ_ID FROM oceanbase.__ALL_VIRTUAL_OBJ_LOCK WHERE oceanbase.__ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY) ELSE -1 END AS ID1, CASE WHEN TYPE = 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) WHEN TYPE = 2 OR TYPE = 3 THEN NULL ELSE 'ERROR' END AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, HOLDER_TRANS_ID AS ID1, NULL AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 1 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 2 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(TRANS_ID, '-'), ROWKEY) AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, TIME_AFTER_RECV AS CTIME, 0 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_TRANS_LOCK_STAT WHERE ROWKEY IS NOT NULL AND ROWKEY <> '' UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, TRANS_ID AS ID1, NULL AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, MIN(TIME_AFTER_RECV) AS CTIME, 0 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_TRANS_LOCK_STAT GROUP BY (TRANS_ID) UNION ALL SELECT OBJ_LOCK.SVR_IP AS SVR_IP, OBJ_LOCK.SVR_PORT AS SVR_PORT, OBJ_LOCK.TENANT_ID AS TENANT_ID, OBJ_LOCK.CREATE_TRANS_ID AS TRANS_ID, CASE WHEN OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET') THEN 'TM' WHEN OBJ_LOCK.OBJ_TYPE = 'DBMS_LOCK' THEN 'UL' ELSE 'UNKONWN' END AS TYPE, OBJ_LOCK.OBJ_ID AS ID1, NULL AS ID2, OBJ_LOCK.LOCK_MODE AS LMODE, 'NONE' AS REQUEST, OBJ_LOCK.TIME_AFTER_CREATE AS CTIME, 0 AS BLOCK FROM oceanbase.__ALL_VIRTUAL_OBJ_LOCK AS OBJ_LOCK INNER JOIN oceanbase.__ALL_VIRTUAL_LS_INFO AS LS_INFO ON OBJ_LOCK.SVR_IP = LS_INFO.SVR_IP AND OBJ_LOCK.SVR_PORT = LS_INFO.SVR_PORT AND OBJ_LOCK.TENANT_ID = LS_INFO.TENANT_ID AND OBJ_LOCK.LS_ID = LS_INFO.LS_ID WHERE OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET', 'DBMS_LOCK') AND OBJ_LOCK.EXTRA_INFO LIKE '%tx_ctx%' AND LS_INFO.LS_STATE = 'LEADER' )__"))) {
|
||||
LOG_ERROR("fail to set view_definition", K(ret));
|
||||
}
|
||||
}
|
||||
|
@ -25,6 +25,56 @@ using namespace common;
|
||||
namespace share
|
||||
{
|
||||
|
||||
int ObInnerTableSchema::dbms_lock_allocated_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_INVALID_ID);
|
||||
table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_DBMS_LOCK_ALLOCATED_ORA_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(0);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(SYSTEM_VIEW);
|
||||
table_schema.set_index_type(INDEX_TYPE_IS_NOT);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_DBMS_LOCK_ALLOCATED_ORA_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT NAME, LOCKID, EXPIRATION FROM SYS.ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT )__"))) {
|
||||
LOG_ERROR("fail to set view_definition", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(0);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::dba_wr_control_ora_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -710,7 +710,7 @@ int ObInnerTableSchema::gv_ob_locks_ora_schema(ObTableSchema &table_schema)
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, CASE TYPE WHEN 1 THEN 'TR' WHEN 2 THEN 'TX' WHEN 3 THEN 'TM' ELSE 'UNDEFINED' END AS TYPE, CASE TYPE WHEN 1 THEN TABLET_ID WHEN 2 THEN HOLDER_TRANS_ID WHEN 3 THEN (SELECT DISTINCT OBJ_ID FROM SYS.ALL_VIRTUAL_OBJ_LOCK WHERE SYS.ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = SYS.ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY) ELSE -1 END AS ID1, CASE TYPE WHEN 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) WHEN 2 THEN NULL WHEN 3 THEN NULL ELSE 'ERROR' END AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM SYS.ALL_VIRTUAL_LOCK_WAIT_STAT UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, HOLDER_TRANS_ID AS ID1, NULL AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM SYS.ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 1 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM SYS.ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 2 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(TRANS_ID, '-'), ROWKEY) AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, TIME_AFTER_RECV AS CTIME, 0 AS BLOCK FROM SYS.ALL_VIRTUAL_TRANS_LOCK_STAT WHERE ROWKEY IS NOT NULL UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, TRANS_ID AS ID1, NULL AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, MIN(TIME_AFTER_RECV) AS CTIME, 0 AS BLOCK FROM SYS.ALL_VIRTUAL_TRANS_LOCK_STAT GROUP BY SVR_IP, SVR_PORT, TENANT_ID, TRANS_ID UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, CREATE_TRANS_ID AS TRANS_ID, 'TM' AS TYPE, OBJ_ID AS ID1, NULL AS ID2, LOCK_MODE AS LMODE, 'NONE' AS REQUEST, TIME_AFTER_CREATE AS CTIME, 0 AS BLOCK FROM SYS.ALL_VIRTUAL_OBJ_LOCK WHERE (OBJ_TYPE = 'TABLE' OR OBJ_TYPE = 'TABLET') AND EXTRA_INFO LIKE '%tx_ctx%' )__"))) {
|
||||
if (OB_FAIL(table_schema.set_view_definition(R"__( SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, CASE WHEN TYPE = 1 THEN 'TR' WHEN TYPE = 2 THEN 'TX' WHEN TYPE = 3 THEN 'TM' ELSE 'UNDEFINED' END AS TYPE, CASE WHEN TYPE = 1 THEN TABLET_ID WHEN TYPE = 2 THEN HOLDER_TRANS_ID WHEN TYPE = 3 THEN (SELECT DISTINCT OBJ_ID FROM SYS.ALL_VIRTUAL_OBJ_LOCK WHERE SYS.ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = SYS.ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY) ELSE -1 END AS ID1, CASE WHEN TYPE = 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) WHEN TYPE = 2 THEN NULL WHEN TYPE = 3 THEN NULL ELSE 'ERROR' END AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM SYS.ALL_VIRTUAL_LOCK_WAIT_STAT UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, HOLDER_TRANS_ID AS ID1, NULL AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM SYS.ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 1 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY) AS ID2, 'NONE' AS LMODE, LOCK_MODE AS REQUEST, TIME_AFTER_RECV AS CTIME, 1 AS BLOCK FROM SYS.ALL_VIRTUAL_LOCK_WAIT_STAT WHERE TYPE = 2 UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TR' AS TYPE, TABLET_ID AS ID1, CONCAT(CONCAT(TRANS_ID, '-'), ROWKEY) AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, TIME_AFTER_RECV AS CTIME, 0 AS BLOCK FROM SYS.ALL_VIRTUAL_TRANS_LOCK_STAT WHERE ROWKEY IS NOT NULL UNION ALL SELECT SVR_IP AS SVR_IP, SVR_PORT AS SVR_PORT, TENANT_ID AS TENANT_ID, TRANS_ID AS TRANS_ID, 'TX' AS TYPE, TRANS_ID AS ID1, NULL AS ID2, 'X' AS LMODE, 'NONE' AS REQUEST, MIN(TIME_AFTER_RECV) AS CTIME, 0 AS BLOCK FROM SYS.ALL_VIRTUAL_TRANS_LOCK_STAT GROUP BY SVR_IP, SVR_PORT, TENANT_ID, TRANS_ID UNION ALL SELECT OBJ_LOCK.SVR_IP AS SVR_IP, OBJ_LOCK.SVR_PORT AS SVR_PORT, OBJ_LOCK.TENANT_ID AS TENANT_ID, OBJ_LOCK.CREATE_TRANS_ID AS TRANS_ID, CASE WHEN OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET') THEN 'TM' WHEN OBJ_LOCK.OBJ_TYPE = 'DBMS_LOCK' THEN 'UL' ELSE 'UNKOWN' END AS TYPE, OBJ_LOCK.OBJ_ID AS ID1, NULL AS ID2, OBJ_LOCK.LOCK_MODE AS LMODE, 'NONE' AS REQUEST, OBJ_LOCK.TIME_AFTER_CREATE AS CTIME, 0 AS BLOCK FROM SYS.ALL_VIRTUAL_OBJ_LOCK OBJ_LOCK INNER JOIN SYS.ALL_VIRTUAL_LS_INFO LS_INFO ON OBJ_LOCK.SVR_IP = LS_INFO.SVR_IP AND OBJ_LOCK.SVR_PORT = LS_INFO.SVR_PORT AND OBJ_LOCK.TENANT_ID = LS_INFO.TENANT_ID AND OBJ_LOCK.LS_ID = LS_INFO.LS_ID WHERE OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET', 'DBMS_LOCK') AND OBJ_LOCK.EXTRA_INFO LIKE '%tx_ctx%' AND LS_INFO.LS_STATE = 'LEADER' )__"))) {
|
||||
LOG_ERROR("fail to set view_definition", K(ret));
|
||||
}
|
||||
}
|
||||
@ -11984,6 +11984,177 @@ int ObInnerTableSchema::all_rls_context_history_idx_rls_context_his_table_id_sch
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_dbms_lock_allocated_idx_dbms_lock_allocated_lockhandle_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_SYS_TABLEGROUP_ID);
|
||||
table_schema.set_database_id(OB_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(USER_INDEX);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
++column_id; // for gmt_create
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
++column_id; // for gmt_modified
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("lockhandle", //column_name
|
||||
column_id + 3, //column_id
|
||||
1, //rowkey_id
|
||||
1, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
128, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("name", //column_name
|
||||
column_id + 1, //column_id
|
||||
2, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
128, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_status(INDEX_STATUS_AVAILABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_data_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 3);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_dbms_lock_allocated_idx_dbms_lock_allocated_expiration_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_SYS_TABLEGROUP_ID);
|
||||
table_schema.set_database_id(OB_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(USER_INDEX);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
++column_id; // for gmt_create
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
++column_id; // for gmt_modified
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_TS("expiration", //column_name
|
||||
column_id + 4, //column_id
|
||||
1, //rowkey_id
|
||||
1, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(ObPreciseDateTime), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false, //is_autoincrement
|
||||
false); //is_on_update_for_timestamp
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("name", //column_name
|
||||
column_id + 1, //column_id
|
||||
2, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
128, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_status(INDEX_STATUS_AVAILABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_data_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 4);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_table_real_agent_ora_idx_data_table_id_real_agent_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
@ -19069,6 +19240,160 @@ int ObInnerTableSchema::all_virtual_rls_context_real_agent_ora_idx_rls_context_t
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_dbms_lock_allocated_real_agent_ora_idx_dbms_lock_allocated_lockhandle_real_agent_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_INVALID_ID);
|
||||
table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(USER_INDEX);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCollationType::CS_TYPE_UTF8MB4_BIN);
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(0);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("LOCKHANDLE", //column_name
|
||||
column_id + 3, //column_id
|
||||
1, //rowkey_id
|
||||
1, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
128, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("NAME", //column_name
|
||||
column_id + 1, //column_id
|
||||
2, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
128, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_status(INDEX_STATUS_AVAILABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_data_table_id(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 3);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_virtual_dbms_lock_allocated_real_agent_ora_idx_dbms_lock_allocated_expiration_real_agent_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_INVALID_ID);
|
||||
table_schema.set_database_id(OB_ORA_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(USER_INDEX);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCollationType::CS_TYPE_UTF8MB4_BIN);
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(0);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("EXPIRATION", //column_name
|
||||
column_id + 4, //column_id
|
||||
1, //rowkey_id
|
||||
1, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampLTZType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
0, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("NAME", //column_name
|
||||
column_id + 1, //column_id
|
||||
2, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_UTF8MB4_BIN, //column_collation_type
|
||||
128, //column_length
|
||||
2, //column_precision
|
||||
-1, //column_scale
|
||||
false,//is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_status(INDEX_STATUS_AVAILABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_NORMAL_LOCAL);
|
||||
table_schema.set_data_table_id(OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id + 4);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
} // end namespace share
|
||||
} // end namespace oceanbase
|
||||
|
@ -1788,6 +1788,159 @@ int ObInnerTableSchema::all_balance_task_helper_schema(ObTableSchema &table_sche
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_dbms_lock_allocated_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_SYS_TABLEGROUP_ID);
|
||||
table_schema.set_database_id(OB_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(SYSTEM_TABLE);
|
||||
table_schema.set_index_type(INDEX_TYPE_IS_NOT);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_DBMS_LOCK_ALLOCATED_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ObObj gmt_create_default;
|
||||
ObObj gmt_create_default_null;
|
||||
|
||||
gmt_create_default.set_ext(ObActionFlag::OP_DEFAULT_NOW_FLAG);
|
||||
gmt_create_default_null.set_null();
|
||||
ADD_COLUMN_SCHEMA_TS_T("gmt_create", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampType, //column_type
|
||||
CS_TYPE_BINARY,//collation_type
|
||||
0, //column length
|
||||
-1, //column_precision
|
||||
6, //column_scale
|
||||
true,//is nullable
|
||||
false, //is_autoincrement
|
||||
false, //is_on_update_for_timestamp
|
||||
gmt_create_default_null,
|
||||
gmt_create_default)
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ObObj gmt_modified_default;
|
||||
ObObj gmt_modified_default_null;
|
||||
|
||||
gmt_modified_default.set_ext(ObActionFlag::OP_DEFAULT_NOW_FLAG);
|
||||
gmt_modified_default_null.set_null();
|
||||
ADD_COLUMN_SCHEMA_TS_T("gmt_modified", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampType, //column_type
|
||||
CS_TYPE_BINARY,//collation_type
|
||||
0, //column length
|
||||
-1, //column_precision
|
||||
6, //column_scale
|
||||
true,//is nullable
|
||||
false, //is_autoincrement
|
||||
true, //is_on_update_for_timestamp
|
||||
gmt_modified_default_null,
|
||||
gmt_modified_default)
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("name", //column_name
|
||||
++column_id, //column_id
|
||||
1, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
128, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("lockid", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObIntType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(int64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("lockhandle", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
128, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA_TS("expiration", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObTimestampType, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(ObPreciseDateTime), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false, //is_autoincrement
|
||||
false); //is_on_update_for_timestamp
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(OB_ALL_DBMS_LOCK_ALLOCATED_TID);
|
||||
table_schema.set_aux_lob_meta_tid(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TID);
|
||||
table_schema.set_aux_lob_piece_tid(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::wr_control_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -1105,6 +1105,141 @@ int ObInnerTableSchema::all_balance_task_helper_aux_lob_meta_schema(ObTableSchem
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_dbms_lock_allocated_aux_lob_meta_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_SYS_TABLEGROUP_ID);
|
||||
table_schema.set_database_id(OB_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(2);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(AUX_LOB_META);
|
||||
table_schema.set_index_type(INDEX_TYPE_IS_NOT);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("lob_id", //column_name
|
||||
++column_id, //column_id
|
||||
1, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_BINARY, //column_collation_type
|
||||
16, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("seq_id", //column_name
|
||||
++column_id, //column_id
|
||||
2, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_BINARY, //column_collation_type
|
||||
8192, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("binary_len", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObUInt32Type, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(uint32_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("char_len", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObUInt32Type, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(uint32_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("piece_id", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObUInt64Type, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(uint64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("lob_data", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_BINARY, //column_collation_type
|
||||
262144, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TID);
|
||||
table_schema.set_data_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::wr_control_aux_lob_meta_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -745,6 +745,96 @@ int ObInnerTableSchema::all_balance_task_helper_aux_lob_piece_schema(ObTableSche
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::all_dbms_lock_allocated_aux_lob_piece_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
uint64_t column_id = OB_APP_MIN_COLUMN_ID - 1;
|
||||
|
||||
//generated fields:
|
||||
table_schema.set_tenant_id(OB_SYS_TENANT_ID);
|
||||
table_schema.set_tablegroup_id(OB_SYS_TABLEGROUP_ID);
|
||||
table_schema.set_database_id(OB_SYS_DATABASE_ID);
|
||||
table_schema.set_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TID);
|
||||
table_schema.set_rowkey_split_pos(0);
|
||||
table_schema.set_is_use_bloomfilter(false);
|
||||
table_schema.set_progressive_merge_num(0);
|
||||
table_schema.set_rowkey_column_num(1);
|
||||
table_schema.set_load_type(TABLE_LOAD_TYPE_IN_DISK);
|
||||
table_schema.set_table_type(AUX_LOB_PIECE);
|
||||
table_schema.set_index_type(INDEX_TYPE_IS_NOT);
|
||||
table_schema.set_def_type(TABLE_DEF_TYPE_INTERNAL);
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_table_name(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TNAME))) {
|
||||
LOG_ERROR("fail to set table_name", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(table_schema.set_compress_func_name(OB_DEFAULT_COMPRESS_FUNC_NAME))) {
|
||||
LOG_ERROR("fail to set compress_func_name", K(ret));
|
||||
}
|
||||
}
|
||||
table_schema.set_part_level(PARTITION_LEVEL_ZERO);
|
||||
table_schema.set_charset_type(ObCharset::get_default_charset());
|
||||
table_schema.set_collation_type(ObCharset::get_default_collation(ObCharset::get_default_charset()));
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("piece_id", //column_name
|
||||
++column_id, //column_id
|
||||
1, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObUInt64Type, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(uint64_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("data_len", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObUInt32Type, //column_type
|
||||
CS_TYPE_INVALID, //column_collation_type
|
||||
sizeof(uint32_t), //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret)) {
|
||||
ADD_COLUMN_SCHEMA("lob_data", //column_name
|
||||
++column_id, //column_id
|
||||
0, //rowkey_id
|
||||
0, //index_id
|
||||
0, //part_key_pos
|
||||
ObVarcharType, //column_type
|
||||
CS_TYPE_BINARY, //column_collation_type
|
||||
32, //column_length
|
||||
-1, //column_precision
|
||||
-1, //column_scale
|
||||
false, //is_nullable
|
||||
false); //is_autoincrement
|
||||
}
|
||||
table_schema.set_index_using_type(USING_BTREE);
|
||||
table_schema.set_row_store_type(ENCODING_ROW_STORE);
|
||||
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);
|
||||
table_schema.set_progressive_merge_round(1);
|
||||
table_schema.set_storage_format_version(3);
|
||||
table_schema.set_tablet_id(OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TID);
|
||||
table_schema.set_data_table_id(OB_ALL_DBMS_LOCK_ALLOCATED_TID);
|
||||
|
||||
table_schema.set_max_used_column_id(column_id);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObInnerTableSchema::wr_control_aux_lob_piece_schema(ObTableSchema &table_schema)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
@ -534,6 +534,7 @@ public:
|
||||
static int wr_statname_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int wr_sysstat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_balance_task_helper_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_dbms_lock_allocated_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int wr_control_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_tenant_event_history_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int tenant_virtual_all_table_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -1158,10 +1159,12 @@ public:
|
||||
static int all_virtual_timestamp_service_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ls_log_restore_status_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_tenant_parameter_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_dbms_lock_allocated_real_agent_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_wr_control_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_tenant_event_history_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ls_real_agent_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_flt_config_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ls_info_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_plan_cache_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int gv_ob_plan_cache_plan_stat_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int schemata_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -1751,6 +1754,7 @@ public:
|
||||
static int gv_sql_join_filter_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int v_sql_join_filter_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_ob_table_stat_stale_info_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dbms_lock_allocated_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_wr_control_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_ob_ls_history_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int dba_ob_tenant_event_history_ora_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -2169,6 +2173,7 @@ public:
|
||||
static int wr_statname_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int wr_sysstat_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_balance_task_helper_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_dbms_lock_allocated_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int wr_control_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_tenant_event_history_aux_lob_meta_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_table_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -2419,6 +2424,7 @@ public:
|
||||
static int wr_statname_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int wr_sysstat_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_balance_task_helper_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_dbms_lock_allocated_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int wr_control_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_tenant_event_history_aux_lob_piece_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ash_all_virtual_ash_i1_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -2501,6 +2507,8 @@ public:
|
||||
static int all_virtual_rls_policy_real_agent_ora_idx_rls_policy_group_id_real_agent_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_rls_group_real_agent_ora_idx_rls_group_table_id_real_agent_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_rls_context_real_agent_ora_idx_rls_context_table_id_real_agent_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_dbms_lock_allocated_real_agent_ora_idx_dbms_lock_allocated_lockhandle_real_agent_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_dbms_lock_allocated_real_agent_ora_idx_dbms_lock_allocated_expiration_real_agent_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_ash_ora_all_virtual_ash_i1_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_sql_plan_monitor_ora_all_virtual_sql_plan_monitor_i1_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_virtual_system_event_ora_all_virtual_system_event_i1_schema(share::schema::ObTableSchema &table_schema);
|
||||
@ -2604,6 +2612,8 @@ public:
|
||||
static int all_rls_group_history_idx_rls_group_his_table_id_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_rls_context_idx_rls_context_table_id_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_rls_context_history_idx_rls_context_his_table_id_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_dbms_lock_allocated_idx_dbms_lock_allocated_lockhandle_schema(share::schema::ObTableSchema &table_schema);
|
||||
static int all_dbms_lock_allocated_idx_dbms_lock_allocated_expiration_schema(share::schema::ObTableSchema &table_schema);
|
||||
|
||||
private:
|
||||
DISALLOW_COPY_AND_ASSIGN(ObInnerTableSchema);
|
||||
@ -2867,6 +2877,7 @@ const schema_create_func sys_table_schema_creators [] = {
|
||||
ObInnerTableSchema::wr_statname_schema,
|
||||
ObInnerTableSchema::wr_sysstat_schema,
|
||||
ObInnerTableSchema::all_balance_task_helper_schema,
|
||||
ObInnerTableSchema::all_dbms_lock_allocated_schema,
|
||||
ObInnerTableSchema::wr_control_schema,
|
||||
ObInnerTableSchema::all_tenant_event_history_schema,
|
||||
NULL,};
|
||||
@ -3504,10 +3515,12 @@ const schema_create_func virtual_table_schema_creators [] = {
|
||||
ObInnerTableSchema::all_virtual_timestamp_service_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_ls_log_restore_status_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_tenant_parameter_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_dbms_lock_allocated_real_agent_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_wr_control_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_tenant_event_history_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_ls_real_agent_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_flt_config_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_ls_info_ora_schema,
|
||||
ObInnerTableSchema::all_virtual_table_real_agent_ora_idx_data_table_id_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_table_real_agent_ora_idx_db_tb_name_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_table_real_agent_ora_idx_tb_name_real_agent_schema,
|
||||
@ -3578,6 +3591,8 @@ const schema_create_func virtual_table_schema_creators [] = {
|
||||
ObInnerTableSchema::all_virtual_rls_policy_real_agent_ora_idx_rls_policy_group_id_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_rls_group_real_agent_ora_idx_rls_group_table_id_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_rls_context_real_agent_ora_idx_rls_context_table_id_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_dbms_lock_allocated_real_agent_ora_idx_dbms_lock_allocated_lockhandle_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_dbms_lock_allocated_real_agent_ora_idx_dbms_lock_allocated_expiration_real_agent_schema,
|
||||
ObInnerTableSchema::all_virtual_ash_ora_all_virtual_ash_i1_schema,
|
||||
ObInnerTableSchema::all_virtual_sql_plan_monitor_ora_all_virtual_sql_plan_monitor_i1_schema,
|
||||
ObInnerTableSchema::all_virtual_system_event_ora_all_virtual_system_event_i1_schema,
|
||||
@ -4179,6 +4194,7 @@ const schema_create_func sys_view_schema_creators [] = {
|
||||
ObInnerTableSchema::gv_sql_join_filter_ora_schema,
|
||||
ObInnerTableSchema::v_sql_join_filter_ora_schema,
|
||||
ObInnerTableSchema::dba_ob_table_stat_stale_info_ora_schema,
|
||||
ObInnerTableSchema::dbms_lock_allocated_ora_schema,
|
||||
ObInnerTableSchema::dba_wr_control_ora_schema,
|
||||
ObInnerTableSchema::dba_ob_ls_history_ora_schema,
|
||||
ObInnerTableSchema::dba_ob_tenant_event_history_ora_schema,
|
||||
@ -4449,6 +4465,8 @@ const schema_create_func sys_index_table_schema_creators [] = {
|
||||
ObInnerTableSchema::all_rls_group_history_idx_rls_group_his_table_id_schema,
|
||||
ObInnerTableSchema::all_rls_context_idx_rls_context_table_id_schema,
|
||||
ObInnerTableSchema::all_rls_context_history_idx_rls_context_his_table_id_schema,
|
||||
ObInnerTableSchema::all_dbms_lock_allocated_idx_dbms_lock_allocated_lockhandle_schema,
|
||||
ObInnerTableSchema::all_dbms_lock_allocated_idx_dbms_lock_allocated_expiration_schema,
|
||||
NULL,};
|
||||
|
||||
const schema_create_func information_schema_table_schema_creators[] = {
|
||||
@ -4686,6 +4704,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_WR_STATNAME_TID,
|
||||
OB_WR_SYSSTAT_TID,
|
||||
OB_ALL_BALANCE_TASK_HELPER_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_TID,
|
||||
OB_WR_CONTROL_TID,
|
||||
OB_ALL_TENANT_EVENT_HISTORY_TID,
|
||||
OB_TENANT_VIRTUAL_ALL_TABLE_TID,
|
||||
@ -4815,6 +4834,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_ALL_VIRTUAL_BACKUP_DELETE_TASK_HISTORY_TID,
|
||||
OB_ALL_VIRTUAL_BACKUP_DELETE_LS_TASK_TID,
|
||||
OB_ALL_VIRTUAL_BACKUP_DELETE_LS_TASK_HISTORY_TID,
|
||||
OB_ALL_VIRTUAL_LS_INFO_TID,
|
||||
OB_ALL_VIRTUAL_OBJ_LOCK_TID,
|
||||
OB_ALL_VIRTUAL_ZONE_MERGE_INFO_TID,
|
||||
OB_ALL_VIRTUAL_MERGE_INFO_TID,
|
||||
@ -5118,10 +5138,12 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TID,
|
||||
OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TID,
|
||||
OB_ALL_VIRTUAL_TENANT_PARAMETER_ORA_TID,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_WR_CONTROL_ORA_TID,
|
||||
OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_ORA_TID,
|
||||
OB_ALL_VIRTUAL_LS_REAL_AGENT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_FLT_CONFIG_ORA_TID,
|
||||
OB_ALL_VIRTUAL_LS_INFO_ORA_TID,
|
||||
OB_GV_OB_PLAN_CACHE_STAT_TID,
|
||||
OB_GV_OB_PLAN_CACHE_PLAN_STAT_TID,
|
||||
OB_SCHEMATA_TID,
|
||||
@ -5615,6 +5637,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_GV_SQL_JOIN_FILTER_ORA_TID,
|
||||
OB_V_SQL_JOIN_FILTER_ORA_TID,
|
||||
OB_DBA_OB_TABLE_STAT_STALE_INFO_ORA_TID,
|
||||
OB_DBMS_LOCK_ALLOCATED_ORA_TID,
|
||||
OB_DBA_WR_CONTROL_ORA_TID,
|
||||
OB_DBA_OB_LS_HISTORY_ORA_TID,
|
||||
OB_DBA_OB_TENANT_EVENT_HISTORY_ORA_TID,
|
||||
@ -5873,6 +5896,8 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_ALL_RLS_GROUP_HISTORY_IDX_RLS_GROUP_HIS_TABLE_ID_TID,
|
||||
OB_ALL_RLS_CONTEXT_IDX_RLS_CONTEXT_TABLE_ID_TID,
|
||||
OB_ALL_RLS_CONTEXT_HISTORY_IDX_RLS_CONTEXT_HIS_TABLE_ID_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID,
|
||||
OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DATA_TABLE_ID_REAL_AGENT_TID,
|
||||
OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DB_TB_NAME_REAL_AGENT_TID,
|
||||
OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_TB_NAME_REAL_AGENT_TID,
|
||||
@ -5943,6 +5968,8 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA_IDX_RLS_POLICY_GROUP_ID_REAL_AGENT_TID,
|
||||
OB_ALL_VIRTUAL_RLS_GROUP_REAL_AGENT_ORA_IDX_RLS_GROUP_TABLE_ID_REAL_AGENT_TID,
|
||||
OB_ALL_VIRTUAL_RLS_CONTEXT_REAL_AGENT_ORA_IDX_RLS_CONTEXT_TABLE_ID_REAL_AGENT_TID,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TID,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TID,
|
||||
OB_ALL_TABLE_AUX_LOB_META_TID,
|
||||
OB_ALL_COLUMN_AUX_LOB_META_TID,
|
||||
OB_ALL_DDL_OPERATION_AUX_LOB_META_TID,
|
||||
@ -6170,6 +6197,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_WR_STATNAME_AUX_LOB_META_TID,
|
||||
OB_WR_SYSSTAT_AUX_LOB_META_TID,
|
||||
OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_META_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TID,
|
||||
OB_WR_CONTROL_AUX_LOB_META_TID,
|
||||
OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_META_TID,
|
||||
OB_ALL_TABLE_AUX_LOB_PIECE_TID,
|
||||
@ -6399,6 +6427,7 @@ const uint64_t tenant_space_tables [] = {
|
||||
OB_WR_STATNAME_AUX_LOB_PIECE_TID,
|
||||
OB_WR_SYSSTAT_AUX_LOB_PIECE_TID,
|
||||
OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_PIECE_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TID,
|
||||
OB_WR_CONTROL_AUX_LOB_PIECE_TID,
|
||||
OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_PIECE_TID, };
|
||||
|
||||
@ -6532,7 +6561,8 @@ const uint64_t all_ora_mapping_virtual_table_org_tables [] = {
|
||||
OB_ALL_VIRTUAL_TENANT_PARAMETER_TID,
|
||||
OB_ALL_VIRTUAL_WR_CONTROL_TID,
|
||||
OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_TID,
|
||||
OB_ALL_VIRTUAL_FLT_CONFIG_TID, };
|
||||
OB_ALL_VIRTUAL_FLT_CONFIG_TID,
|
||||
OB_ALL_VIRTUAL_LS_INFO_TID, };
|
||||
|
||||
const uint64_t all_ora_mapping_virtual_tables [] = { OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID
|
||||
, OB_ALL_VIRTUAL_PLAN_STAT_ORA_TID
|
||||
@ -6664,6 +6694,7 @@ const uint64_t all_ora_mapping_virtual_tables [] = { OB_ALL_VIRTUAL_SQL_AUDIT_O
|
||||
, OB_ALL_VIRTUAL_WR_CONTROL_ORA_TID
|
||||
, OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_ORA_TID
|
||||
, OB_ALL_VIRTUAL_FLT_CONFIG_ORA_TID
|
||||
, OB_ALL_VIRTUAL_LS_INFO_ORA_TID
|
||||
, };
|
||||
|
||||
/* start/end_pos is start/end postition for column with tenant id */
|
||||
@ -6906,6 +6937,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_WR_STATNAME_TNAME,
|
||||
OB_WR_SYSSTAT_TNAME,
|
||||
OB_ALL_BALANCE_TASK_HELPER_TNAME,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_TNAME,
|
||||
OB_WR_CONTROL_TNAME,
|
||||
OB_ALL_TENANT_EVENT_HISTORY_TNAME,
|
||||
OB_TENANT_VIRTUAL_ALL_TABLE_TNAME,
|
||||
@ -7035,6 +7067,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_ALL_VIRTUAL_BACKUP_DELETE_TASK_HISTORY_TNAME,
|
||||
OB_ALL_VIRTUAL_BACKUP_DELETE_LS_TASK_TNAME,
|
||||
OB_ALL_VIRTUAL_BACKUP_DELETE_LS_TASK_HISTORY_TNAME,
|
||||
OB_ALL_VIRTUAL_LS_INFO_TNAME,
|
||||
OB_ALL_VIRTUAL_OBJ_LOCK_TNAME,
|
||||
OB_ALL_VIRTUAL_ZONE_MERGE_INFO_TNAME,
|
||||
OB_ALL_VIRTUAL_MERGE_INFO_TNAME,
|
||||
@ -7338,10 +7371,12 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_TENANT_PARAMETER_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_WR_CONTROL_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_LS_REAL_AGENT_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_FLT_CONFIG_ORA_TNAME,
|
||||
OB_ALL_VIRTUAL_LS_INFO_ORA_TNAME,
|
||||
OB_GV_OB_PLAN_CACHE_STAT_TNAME,
|
||||
OB_GV_OB_PLAN_CACHE_PLAN_STAT_TNAME,
|
||||
OB_SCHEMATA_TNAME,
|
||||
@ -7835,6 +7870,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_GV_SQL_JOIN_FILTER_ORA_TNAME,
|
||||
OB_V_SQL_JOIN_FILTER_ORA_TNAME,
|
||||
OB_DBA_OB_TABLE_STAT_STALE_INFO_ORA_TNAME,
|
||||
OB_DBMS_LOCK_ALLOCATED_ORA_TNAME,
|
||||
OB_DBA_WR_CONTROL_ORA_TNAME,
|
||||
OB_DBA_OB_LS_HISTORY_ORA_TNAME,
|
||||
OB_DBA_OB_TENANT_EVENT_HISTORY_ORA_TNAME,
|
||||
@ -8093,6 +8129,8 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_ALL_RLS_GROUP_HISTORY_IDX_RLS_GROUP_HIS_TABLE_ID_TNAME,
|
||||
OB_ALL_RLS_CONTEXT_IDX_RLS_CONTEXT_TABLE_ID_TNAME,
|
||||
OB_ALL_RLS_CONTEXT_HISTORY_IDX_RLS_CONTEXT_HIS_TABLE_ID_TNAME,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TNAME,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TNAME,
|
||||
OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DATA_TABLE_ID_REAL_AGENT_TNAME,
|
||||
OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DB_TB_NAME_REAL_AGENT_TNAME,
|
||||
OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_TB_NAME_REAL_AGENT_TNAME,
|
||||
@ -8163,6 +8201,8 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA_IDX_RLS_POLICY_GROUP_ID_REAL_AGENT_TNAME,
|
||||
OB_ALL_VIRTUAL_RLS_GROUP_REAL_AGENT_ORA_IDX_RLS_GROUP_TABLE_ID_REAL_AGENT_TNAME,
|
||||
OB_ALL_VIRTUAL_RLS_CONTEXT_REAL_AGENT_ORA_IDX_RLS_CONTEXT_TABLE_ID_REAL_AGENT_TNAME,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TNAME,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TNAME,
|
||||
OB_ALL_TABLE_AUX_LOB_META_TNAME,
|
||||
OB_ALL_COLUMN_AUX_LOB_META_TNAME,
|
||||
OB_ALL_DDL_OPERATION_AUX_LOB_META_TNAME,
|
||||
@ -8390,6 +8430,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_WR_STATNAME_AUX_LOB_META_TNAME,
|
||||
OB_WR_SYSSTAT_AUX_LOB_META_TNAME,
|
||||
OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_META_TNAME,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TNAME,
|
||||
OB_WR_CONTROL_AUX_LOB_META_TNAME,
|
||||
OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_META_TNAME,
|
||||
OB_ALL_TABLE_AUX_LOB_PIECE_TNAME,
|
||||
@ -8619,6 +8660,7 @@ const char* const tenant_space_table_names [] = {
|
||||
OB_WR_STATNAME_AUX_LOB_PIECE_TNAME,
|
||||
OB_WR_SYSSTAT_AUX_LOB_PIECE_TNAME,
|
||||
OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_PIECE_TNAME,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TNAME,
|
||||
OB_WR_CONTROL_AUX_LOB_PIECE_TNAME,
|
||||
OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_PIECE_TNAME, };
|
||||
|
||||
@ -8664,7 +8706,6 @@ const uint64_t cluster_distributed_vtables [] = {
|
||||
OB_ALL_VIRTUAL_LOAD_DATA_STAT_TID,
|
||||
OB_ALL_VIRTUAL_BACKUP_SCHEDULE_TASK_TID,
|
||||
OB_ALL_VIRTUAL_SERVER_TID,
|
||||
OB_ALL_VIRTUAL_LS_INFO_TID,
|
||||
OB_ALL_VIRTUAL_TABLET_INFO_TID,
|
||||
OB_ALL_VIRTUAL_TX_DATA_TABLE_TID,
|
||||
OB_ALL_VIRTUAL_TABLET_DDL_KV_INFO_TID,
|
||||
@ -8740,6 +8781,7 @@ const uint64_t tenant_distributed_vtables [] = {
|
||||
OB_ALL_VIRTUAL_ARCHIVE_STAT_TID,
|
||||
OB_ALL_VIRTUAL_APPLY_STAT_TID,
|
||||
OB_ALL_VIRTUAL_REPLAY_STAT_TID,
|
||||
OB_ALL_VIRTUAL_LS_INFO_TID,
|
||||
OB_ALL_VIRTUAL_OBJ_LOCK_TID,
|
||||
OB_ALL_VIRTUAL_TRANSACTION_FREEZE_CHECKPOINT_TID,
|
||||
OB_ALL_VIRTUAL_TRANSACTION_CHECKPOINT_TID,
|
||||
@ -8828,7 +8870,8 @@ const uint64_t tenant_distributed_vtables [] = {
|
||||
OB_ALL_VIRTUAL_OBJ_LOCK_ORA_TID,
|
||||
OB_ALL_VIRTUAL_PX_P2P_DATAHUB_ORA_TID,
|
||||
OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TID,
|
||||
OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TID, };
|
||||
OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TID,
|
||||
OB_ALL_VIRTUAL_LS_INFO_ORA_TID, };
|
||||
|
||||
const uint64_t restrict_access_virtual_tables[] = {
|
||||
OB_ALL_VIRTUAL_SQL_AUDIT_ORA_TID,
|
||||
@ -8938,6 +8981,7 @@ const uint64_t restrict_access_virtual_tables[] = {
|
||||
OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TID,
|
||||
OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TID,
|
||||
OB_ALL_VIRTUAL_TENANT_PARAMETER_ORA_TID,
|
||||
OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID,
|
||||
OB_ALL_VIRTUAL_WR_CONTROL_ORA_TID,
|
||||
OB_ALL_VIRTUAL_FLT_CONFIG_ORA_TID };
|
||||
|
||||
@ -11070,6 +11114,14 @@ LOBMapping const lob_aux_table_mappings [] = {
|
||||
ObInnerTableSchema::all_balance_task_helper_aux_lob_piece_schema
|
||||
},
|
||||
|
||||
{
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TID,
|
||||
OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TID,
|
||||
ObInnerTableSchema::all_dbms_lock_allocated_aux_lob_meta_schema,
|
||||
ObInnerTableSchema::all_dbms_lock_allocated_aux_lob_piece_schema
|
||||
},
|
||||
|
||||
{
|
||||
OB_WR_CONTROL_TID,
|
||||
OB_WR_CONTROL_AUX_LOB_META_TID,
|
||||
@ -11123,12 +11175,12 @@ static inline int get_sys_table_lob_aux_schema(const uint64_t tid,
|
||||
}
|
||||
|
||||
const int64_t OB_CORE_TABLE_COUNT = 4;
|
||||
const int64_t OB_SYS_TABLE_COUNT = 247;
|
||||
const int64_t OB_VIRTUAL_TABLE_COUNT = 715;
|
||||
const int64_t OB_SYS_VIEW_COUNT = 759;
|
||||
const int64_t OB_SYS_TENANT_TABLE_COUNT = 1726;
|
||||
const int64_t OB_SYS_TABLE_COUNT = 248;
|
||||
const int64_t OB_VIRTUAL_TABLE_COUNT = 719;
|
||||
const int64_t OB_SYS_VIEW_COUNT = 760;
|
||||
const int64_t OB_SYS_TENANT_TABLE_COUNT = 1732;
|
||||
const int64_t OB_CORE_SCHEMA_VERSION = 1;
|
||||
const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 1729;
|
||||
const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 1735;
|
||||
|
||||
} // end namespace share
|
||||
} // end namespace oceanbase
|
||||
|
@ -21,7 +21,7 @@ inner_lob_map_t inner_lob_map;
|
||||
bool lob_mapping_init()
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
if (OB_FAIL(inner_lob_map.create(250, ObModIds::OB_INNER_LOB_HASH_SET))) {
|
||||
if (OB_FAIL(inner_lob_map.create(251, ObModIds::OB_INNER_LOB_HASH_SET))) {
|
||||
SERVER_LOG(WARN, "fail to create inner lob map", K(ret));
|
||||
} else {
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < ARRAYSIZEOF(lob_aux_table_mappings); ++i) {
|
||||
|
@ -217,6 +217,27 @@ bool vt_mapping_init()
|
||||
tmp_vt_mapping.is_real_vt_ = true;
|
||||
}
|
||||
|
||||
{
|
||||
int64_t idx = OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID - start_idx;
|
||||
VTMapping &tmp_vt_mapping = vt_mappings[idx];
|
||||
tmp_vt_mapping.mapping_tid_ = OB_ALL_DBMS_LOCK_ALLOCATED_TID;
|
||||
tmp_vt_mapping.is_real_vt_ = true;
|
||||
}
|
||||
|
||||
{
|
||||
int64_t idx = OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TID - start_idx;
|
||||
VTMapping &tmp_vt_mapping = vt_mappings[idx];
|
||||
tmp_vt_mapping.mapping_tid_ = OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID;
|
||||
tmp_vt_mapping.is_real_vt_ = true;
|
||||
}
|
||||
|
||||
{
|
||||
int64_t idx = OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TID - start_idx;
|
||||
VTMapping &tmp_vt_mapping = vt_mappings[idx];
|
||||
tmp_vt_mapping.mapping_tid_ = OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID;
|
||||
tmp_vt_mapping.is_real_vt_ = true;
|
||||
}
|
||||
|
||||
{
|
||||
int64_t idx = OB_ALL_VIRTUAL_DEF_SUB_PART_REAL_AGENT_ORA_TID - start_idx;
|
||||
VTMapping &tmp_vt_mapping = vt_mappings[idx];
|
||||
|
@ -276,6 +276,7 @@ const uint64_t OB_WR_SNAPSHOT_TID = 456; // "__wr_snapshot"
|
||||
const uint64_t OB_WR_STATNAME_TID = 457; // "__wr_statname"
|
||||
const uint64_t OB_WR_SYSSTAT_TID = 458; // "__wr_sysstat"
|
||||
const uint64_t OB_ALL_BALANCE_TASK_HELPER_TID = 459; // "__all_balance_task_helper"
|
||||
const uint64_t OB_ALL_DBMS_LOCK_ALLOCATED_TID = 471; // "__all_dbms_lock_allocated"
|
||||
const uint64_t OB_WR_CONTROL_TID = 472; // "__wr_control"
|
||||
const uint64_t OB_ALL_TENANT_EVENT_HISTORY_TID = 473; // "__all_tenant_event_history"
|
||||
const uint64_t OB_TENANT_VIRTUAL_ALL_TABLE_TID = 10001; // "__tenant_virtual_all_table"
|
||||
@ -900,10 +901,12 @@ const uint64_t OB_ALL_VIRTUAL_PX_P2P_DATAHUB_ORA_TID = 15384; // "ALL_VIRTUAL_PX
|
||||
const uint64_t OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TID = 15385; // "ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TID = 15387; // "ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_TENANT_PARAMETER_ORA_TID = 15388; // "ALL_VIRTUAL_TENANT_PARAMETER_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TID = 15397; // "ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_WR_CONTROL_ORA_TID = 15398; // "ALL_VIRTUAL_WR_CONTROL_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_ORA_TID = 15399; // "ALL_VIRTUAL_TENANT_EVENT_HISTORY_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_LS_REAL_AGENT_ORA_TID = 15402; // "ALL_VIRTUAL_LS_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_FLT_CONFIG_ORA_TID = 15403; // "ALL_VIRTUAL_FLT_CONFIG_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_LS_INFO_ORA_TID = 15414; // "ALL_VIRTUAL_LS_INFO_ORA"
|
||||
const uint64_t OB_GV_OB_PLAN_CACHE_STAT_TID = 20001; // "GV$OB_PLAN_CACHE_STAT"
|
||||
const uint64_t OB_GV_OB_PLAN_CACHE_PLAN_STAT_TID = 20002; // "GV$OB_PLAN_CACHE_PLAN_STAT"
|
||||
const uint64_t OB_SCHEMATA_TID = 20003; // "SCHEMATA"
|
||||
@ -1493,6 +1496,7 @@ const uint64_t OB_V_OB_PX_P2P_DATAHUB_ORA_TID = 25244; // "V$OB_PX_P2P_DATAHUB_O
|
||||
const uint64_t OB_GV_SQL_JOIN_FILTER_ORA_TID = 25245; // "GV$SQL_JOIN_FILTER_ORA"
|
||||
const uint64_t OB_V_SQL_JOIN_FILTER_ORA_TID = 25246; // "V$SQL_JOIN_FILTER_ORA"
|
||||
const uint64_t OB_DBA_OB_TABLE_STAT_STALE_INFO_ORA_TID = 25247; // "DBA_OB_TABLE_STAT_STALE_INFO_ORA"
|
||||
const uint64_t OB_DBMS_LOCK_ALLOCATED_ORA_TID = 25256; // "DBMS_LOCK_ALLOCATED_ORA"
|
||||
const uint64_t OB_DBA_WR_CONTROL_ORA_TID = 25257; // "DBA_WR_CONTROL_ORA"
|
||||
const uint64_t OB_DBA_OB_LS_HISTORY_ORA_TID = 25258; // "DBA_OB_LS_HISTORY_ORA"
|
||||
const uint64_t OB_DBA_OB_TENANT_EVENT_HISTORY_ORA_TID = 25259; // "DBA_OB_TENANT_EVENT_HISTORY_ORA"
|
||||
@ -1911,6 +1915,7 @@ const uint64_t OB_WR_SNAPSHOT_AUX_LOB_META_TID = 50456; // "__wr_snapshot_aux_lo
|
||||
const uint64_t OB_WR_STATNAME_AUX_LOB_META_TID = 50457; // "__wr_statname_aux_lob_meta"
|
||||
const uint64_t OB_WR_SYSSTAT_AUX_LOB_META_TID = 50458; // "__wr_sysstat_aux_lob_meta"
|
||||
const uint64_t OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_META_TID = 50459; // "__all_balance_task_helper_aux_lob_meta"
|
||||
const uint64_t OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TID = 50471; // "__all_dbms_lock_allocated_aux_lob_meta"
|
||||
const uint64_t OB_WR_CONTROL_AUX_LOB_META_TID = 50472; // "__wr_control_aux_lob_meta"
|
||||
const uint64_t OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_META_TID = 50473; // "__all_tenant_event_history_aux_lob_meta"
|
||||
const uint64_t OB_ALL_TABLE_AUX_LOB_PIECE_TID = 60003; // "__all_table_aux_lob_piece"
|
||||
@ -2161,6 +2166,7 @@ const uint64_t OB_WR_SNAPSHOT_AUX_LOB_PIECE_TID = 60456; // "__wr_snapshot_aux_l
|
||||
const uint64_t OB_WR_STATNAME_AUX_LOB_PIECE_TID = 60457; // "__wr_statname_aux_lob_piece"
|
||||
const uint64_t OB_WR_SYSSTAT_AUX_LOB_PIECE_TID = 60458; // "__wr_sysstat_aux_lob_piece"
|
||||
const uint64_t OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_PIECE_TID = 60459; // "__all_balance_task_helper_aux_lob_piece"
|
||||
const uint64_t OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TID = 60471; // "__all_dbms_lock_allocated_aux_lob_piece"
|
||||
const uint64_t OB_WR_CONTROL_AUX_LOB_PIECE_TID = 60472; // "__wr_control_aux_lob_piece"
|
||||
const uint64_t OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_PIECE_TID = 60473; // "__all_tenant_event_history_aux_lob_piece"
|
||||
const uint64_t OB_ALL_VIRTUAL_PLAN_CACHE_STAT_ALL_VIRTUAL_PLAN_CACHE_STAT_I1_TID = 14999; // "__all_virtual_plan_cache_stat"
|
||||
@ -2276,6 +2282,8 @@ const uint64_t OB_ALL_RLS_GROUP_IDX_RLS_GROUP_TABLE_ID_TID = 101085; // "__all_r
|
||||
const uint64_t OB_ALL_RLS_GROUP_HISTORY_IDX_RLS_GROUP_HIS_TABLE_ID_TID = 101086; // "__all_rls_group_history"
|
||||
const uint64_t OB_ALL_RLS_CONTEXT_IDX_RLS_CONTEXT_TABLE_ID_TID = 101087; // "__all_rls_context"
|
||||
const uint64_t OB_ALL_RLS_CONTEXT_HISTORY_IDX_RLS_CONTEXT_HIS_TABLE_ID_TID = 101088; // "__all_rls_context_history"
|
||||
const uint64_t OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID = 101090; // "__all_dbms_lock_allocated"
|
||||
const uint64_t OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID = 101091; // "__all_dbms_lock_allocated"
|
||||
const uint64_t OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DATA_TABLE_ID_REAL_AGENT_TID = 15306; // "ALL_VIRTUAL_TABLE_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DB_TB_NAME_REAL_AGENT_TID = 15307; // "ALL_VIRTUAL_TABLE_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_TB_NAME_REAL_AGENT_TID = 15308; // "ALL_VIRTUAL_TABLE_REAL_AGENT_ORA"
|
||||
@ -2346,6 +2354,8 @@ const uint64_t OB_ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA_IDX_RLS_POLICY_TABLE_ID_
|
||||
const uint64_t OB_ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA_IDX_RLS_POLICY_GROUP_ID_REAL_AGENT_TID = 15373; // "ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_RLS_GROUP_REAL_AGENT_ORA_IDX_RLS_GROUP_TABLE_ID_REAL_AGENT_TID = 15374; // "ALL_VIRTUAL_RLS_GROUP_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_RLS_CONTEXT_REAL_AGENT_ORA_IDX_RLS_CONTEXT_TABLE_ID_REAL_AGENT_TID = 15375; // "ALL_VIRTUAL_RLS_CONTEXT_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TID = 15415; // "ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA"
|
||||
const uint64_t OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TID = 15416; // "ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA"
|
||||
|
||||
const char *const OB_ALL_CORE_TABLE_TNAME = "__all_core_table";
|
||||
const char *const OB_ALL_TABLE_TNAME = "__all_table";
|
||||
@ -2596,6 +2606,7 @@ const char *const OB_WR_SNAPSHOT_TNAME = "__wr_snapshot";
|
||||
const char *const OB_WR_STATNAME_TNAME = "__wr_statname";
|
||||
const char *const OB_WR_SYSSTAT_TNAME = "__wr_sysstat";
|
||||
const char *const OB_ALL_BALANCE_TASK_HELPER_TNAME = "__all_balance_task_helper";
|
||||
const char *const OB_ALL_DBMS_LOCK_ALLOCATED_TNAME = "__all_dbms_lock_allocated";
|
||||
const char *const OB_WR_CONTROL_TNAME = "__wr_control";
|
||||
const char *const OB_ALL_TENANT_EVENT_HISTORY_TNAME = "__all_tenant_event_history";
|
||||
const char *const OB_TENANT_VIRTUAL_ALL_TABLE_TNAME = "__tenant_virtual_all_table";
|
||||
@ -3220,10 +3231,12 @@ const char *const OB_ALL_VIRTUAL_PX_P2P_DATAHUB_ORA_TNAME = "ALL_VIRTUAL_PX_P2P_
|
||||
const char *const OB_ALL_VIRTUAL_TIMESTAMP_SERVICE_ORA_TNAME = "ALL_VIRTUAL_TIMESTAMP_SERVICE";
|
||||
const char *const OB_ALL_VIRTUAL_LS_LOG_RESTORE_STATUS_ORA_TNAME = "ALL_VIRTUAL_LS_LOG_RESTORE_STATUS";
|
||||
const char *const OB_ALL_VIRTUAL_TENANT_PARAMETER_ORA_TNAME = "ALL_VIRTUAL_TENANT_PARAMETER";
|
||||
const char *const OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_TNAME = "ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT";
|
||||
const char *const OB_ALL_VIRTUAL_WR_CONTROL_ORA_TNAME = "ALL_VIRTUAL_WR_CONTROL";
|
||||
const char *const OB_ALL_VIRTUAL_TENANT_EVENT_HISTORY_ORA_TNAME = "ALL_VIRTUAL_TENANT_EVENT_HISTORY";
|
||||
const char *const OB_ALL_VIRTUAL_LS_REAL_AGENT_ORA_TNAME = "ALL_VIRTUAL_LS_REAL_AGENT";
|
||||
const char *const OB_ALL_VIRTUAL_FLT_CONFIG_ORA_TNAME = "ALL_VIRTUAL_FLT_CONFIG";
|
||||
const char *const OB_ALL_VIRTUAL_LS_INFO_ORA_TNAME = "ALL_VIRTUAL_LS_INFO";
|
||||
const char *const OB_GV_OB_PLAN_CACHE_STAT_TNAME = "GV$OB_PLAN_CACHE_STAT";
|
||||
const char *const OB_GV_OB_PLAN_CACHE_PLAN_STAT_TNAME = "GV$OB_PLAN_CACHE_PLAN_STAT";
|
||||
const char *const OB_SCHEMATA_TNAME = "SCHEMATA";
|
||||
@ -3813,6 +3826,7 @@ const char *const OB_V_OB_PX_P2P_DATAHUB_ORA_TNAME = "V$OB_PX_P2P_DATAHUB";
|
||||
const char *const OB_GV_SQL_JOIN_FILTER_ORA_TNAME = "GV$SQL_JOIN_FILTER";
|
||||
const char *const OB_V_SQL_JOIN_FILTER_ORA_TNAME = "V$SQL_JOIN_FILTER";
|
||||
const char *const OB_DBA_OB_TABLE_STAT_STALE_INFO_ORA_TNAME = "DBA_OB_TABLE_STAT_STALE_INFO";
|
||||
const char *const OB_DBMS_LOCK_ALLOCATED_ORA_TNAME = "DBMS_LOCK_ALLOCATED";
|
||||
const char *const OB_DBA_WR_CONTROL_ORA_TNAME = "DBA_WR_CONTROL";
|
||||
const char *const OB_DBA_OB_LS_HISTORY_ORA_TNAME = "DBA_OB_LS_HISTORY";
|
||||
const char *const OB_DBA_OB_TENANT_EVENT_HISTORY_ORA_TNAME = "DBA_OB_TENANT_EVENT_HISTORY";
|
||||
@ -4231,6 +4245,7 @@ const char *const OB_WR_SNAPSHOT_AUX_LOB_META_TNAME = "__wr_snapshot_aux_lob_met
|
||||
const char *const OB_WR_STATNAME_AUX_LOB_META_TNAME = "__wr_statname_aux_lob_meta";
|
||||
const char *const OB_WR_SYSSTAT_AUX_LOB_META_TNAME = "__wr_sysstat_aux_lob_meta";
|
||||
const char *const OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_META_TNAME = "__all_balance_task_helper_aux_lob_meta";
|
||||
const char *const OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_META_TNAME = "__all_dbms_lock_allocated_aux_lob_meta";
|
||||
const char *const OB_WR_CONTROL_AUX_LOB_META_TNAME = "__wr_control_aux_lob_meta";
|
||||
const char *const OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_META_TNAME = "__all_tenant_event_history_aux_lob_meta";
|
||||
const char *const OB_ALL_TABLE_AUX_LOB_PIECE_TNAME = "__all_table_aux_lob_piece";
|
||||
@ -4481,6 +4496,7 @@ const char *const OB_WR_SNAPSHOT_AUX_LOB_PIECE_TNAME = "__wr_snapshot_aux_lob_pi
|
||||
const char *const OB_WR_STATNAME_AUX_LOB_PIECE_TNAME = "__wr_statname_aux_lob_piece";
|
||||
const char *const OB_WR_SYSSTAT_AUX_LOB_PIECE_TNAME = "__wr_sysstat_aux_lob_piece";
|
||||
const char *const OB_ALL_BALANCE_TASK_HELPER_AUX_LOB_PIECE_TNAME = "__all_balance_task_helper_aux_lob_piece";
|
||||
const char *const OB_ALL_DBMS_LOCK_ALLOCATED_AUX_LOB_PIECE_TNAME = "__all_dbms_lock_allocated_aux_lob_piece";
|
||||
const char *const OB_WR_CONTROL_AUX_LOB_PIECE_TNAME = "__wr_control_aux_lob_piece";
|
||||
const char *const OB_ALL_TENANT_EVENT_HISTORY_AUX_LOB_PIECE_TNAME = "__all_tenant_event_history_aux_lob_piece";
|
||||
const char *const OB_ALL_VIRTUAL_PLAN_CACHE_STAT_ALL_VIRTUAL_PLAN_CACHE_STAT_I1_TNAME = "__idx_11003_all_virtual_plan_cache_stat_i1";
|
||||
@ -4596,6 +4612,8 @@ const char *const OB_ALL_RLS_GROUP_IDX_RLS_GROUP_TABLE_ID_TNAME = "__idx_437_idx
|
||||
const char *const OB_ALL_RLS_GROUP_HISTORY_IDX_RLS_GROUP_HIS_TABLE_ID_TNAME = "__idx_438_idx_rls_group_his_table_id";
|
||||
const char *const OB_ALL_RLS_CONTEXT_IDX_RLS_CONTEXT_TABLE_ID_TNAME = "__idx_439_idx_rls_context_table_id";
|
||||
const char *const OB_ALL_RLS_CONTEXT_HISTORY_IDX_RLS_CONTEXT_HIS_TABLE_ID_TNAME = "__idx_440_idx_rls_context_his_table_id";
|
||||
const char *const OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TNAME = "__idx_471_idx_dbms_lock_allocated_lockhandle";
|
||||
const char *const OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TNAME = "__idx_471_idx_dbms_lock_allocated_expiration";
|
||||
const char *const OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DATA_TABLE_ID_REAL_AGENT_TNAME = "__idx_15120_idx_data_table_id_real_agent";
|
||||
const char *const OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_DB_TB_NAME_REAL_AGENT_TNAME = "__idx_15120_idx_db_tb_name_real_agent";
|
||||
const char *const OB_ALL_VIRTUAL_TABLE_REAL_AGENT_ORA_IDX_TB_NAME_REAL_AGENT_TNAME = "__idx_15120_idx_tb_name_real_agent";
|
||||
@ -4666,6 +4684,8 @@ const char *const OB_ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA_IDX_RLS_POLICY_TABLE_
|
||||
const char *const OB_ALL_VIRTUAL_RLS_POLICY_REAL_AGENT_ORA_IDX_RLS_POLICY_GROUP_ID_REAL_AGENT_TNAME = "__idx_15276_idx_rls_policy_group_id_real_agent";
|
||||
const char *const OB_ALL_VIRTUAL_RLS_GROUP_REAL_AGENT_ORA_IDX_RLS_GROUP_TABLE_ID_REAL_AGENT_TNAME = "__idx_15278_idx_rls_group_table_id_real_agent";
|
||||
const char *const OB_ALL_VIRTUAL_RLS_CONTEXT_REAL_AGENT_ORA_IDX_RLS_CONTEXT_TABLE_ID_REAL_AGENT_TNAME = "__idx_15279_idx_rls_context_table_id_real_agent";
|
||||
const char *const OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_REAL_AGENT_TNAME = "__idx_15397_idx_dbms_lock_allocated_lockhandle_real_agent";
|
||||
const char *const OB_ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_REAL_AGENT_TNAME = "__idx_15397_idx_dbms_lock_allocated_expiration_real_agent";
|
||||
|
||||
// initial data for __all_privilege
|
||||
struct PrivilegeRow {
|
||||
|
@ -5815,8 +5815,26 @@ def_table_schema(
|
||||
# 468 : __all_mview_refresh_stats
|
||||
# 469 : __all_mview_refresh_change_stats
|
||||
# 470 : __all_mview_refresh_stmt_stats
|
||||
# 471 : __all_dbms_lock_allocated
|
||||
# 472 : __wr_control
|
||||
|
||||
def_table_schema(
|
||||
owner = 'yangyifei.yyf',
|
||||
table_name = '__all_dbms_lock_allocated',
|
||||
table_id = '471',
|
||||
table_type = 'SYSTEM_TABLE',
|
||||
gm_columns = ['gmt_create', 'gmt_modified'],
|
||||
rowkey_columns = [
|
||||
('name', 'varchar:128', 'false'),
|
||||
],
|
||||
in_tenant_space = True,
|
||||
is_cluster_private = False,
|
||||
meta_record_in_sys = False,
|
||||
normal_columns = [
|
||||
('lockid', 'int'),
|
||||
('lockhandle', 'varchar:128'),
|
||||
('expiration', 'timestamp'),
|
||||
],
|
||||
)
|
||||
|
||||
def_table_schema(
|
||||
owner = 'yuchen.wyc',
|
||||
table_id = 472,
|
||||
@ -10972,6 +10990,7 @@ def_table_schema(
|
||||
rowkey_columns = [
|
||||
],
|
||||
|
||||
in_tenant_space = True,
|
||||
normal_columns = [
|
||||
('svr_ip', 'varchar:MAX_IP_ADDR_LENGTH'),
|
||||
('svr_port', 'int'),
|
||||
@ -12879,7 +12898,7 @@ def_table_schema(**no_direct_access(gen_oracle_mapping_virtual_table_def('15388'
|
||||
# 15394: __all_mview_refresh_stats
|
||||
# 15395: __all_mview_refresh_change_stats
|
||||
# 15396: __all_mview_refresh_stmt_stats
|
||||
# 15397: __all_dbms_lock_allocated
|
||||
def_table_schema(**no_direct_access(gen_oracle_mapping_real_virtual_table_def('15397', all_def_keywords['__all_dbms_lock_allocated'])))
|
||||
# 15398: __all_virtual_wr_control
|
||||
def_table_schema(**no_direct_access(gen_oracle_mapping_virtual_table_def('15398', all_def_keywords['__all_virtual_wr_control'])))
|
||||
def_table_schema(**gen_oracle_mapping_virtual_table_def('15399', all_def_keywords['__all_virtual_tenant_event_history']))
|
||||
@ -12905,7 +12924,7 @@ def_table_schema(**no_direct_access(gen_oracle_mapping_virtual_table_def('15403'
|
||||
# 15411: __all_virtual_import_table_task
|
||||
# 15412: __all_virtual_import_table_task_history
|
||||
# 15413: __all_virtual_import_stmt_exec_history
|
||||
# 15414: __all_virtual_ls_info
|
||||
def_table_schema(**gen_oracle_mapping_virtual_table_def('15414', all_def_keywords['__all_virtual_ls_info']))
|
||||
# 15415: idx_dbms_lock_allocated_lockhandle_real_agent
|
||||
# 15416: idx_dbms_lock_allocated_expiration_real_agent
|
||||
|
||||
@ -27477,20 +27496,19 @@ def_table_schema(
|
||||
SVR_PORT AS SVR_PORT,
|
||||
TENANT_ID AS TENANT_ID,
|
||||
TRANS_ID AS TRANS_ID,
|
||||
CASE TYPE WHEN 1 THEN 'TR'
|
||||
WHEN 2 THEN 'TX'
|
||||
WHEN 3 THEN 'TM'
|
||||
ELSE 'UNDEFINED' END
|
||||
CASE WHEN TYPE = 1 THEN 'TR'
|
||||
WHEN TYPE = 2 THEN 'TX'
|
||||
WHEN TYPE = 3 THEN 'TM'
|
||||
ELSE 'UNDEFINED' END
|
||||
AS TYPE,
|
||||
CASE TYPE WHEN 1 THEN TABLET_ID
|
||||
WHEN 2 THEN HOLDER_TRANS_ID
|
||||
WHEN 3 THEN (SELECT DISTINCT OBJ_ID FROM oceanbase.__ALL_VIRTUAL_OBJ_LOCK WHERE oceanbase.__ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY)
|
||||
ELSE -1 END
|
||||
CASE WHEN TYPE = 1 THEN TABLET_ID
|
||||
WHEN TYPE = 2 THEN HOLDER_TRANS_ID
|
||||
WHEN TYPE = 3 THEN (SELECT DISTINCT OBJ_ID FROM oceanbase.__ALL_VIRTUAL_OBJ_LOCK WHERE oceanbase.__ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = oceanbase.__ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY)
|
||||
ELSE -1 END
|
||||
AS ID1,
|
||||
CASE TYPE WHEN 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY)
|
||||
WHEN 2 THEN NULL
|
||||
WHEN 3 THEN NULL
|
||||
ELSE 'ERROR' END
|
||||
CASE WHEN TYPE = 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY)
|
||||
WHEN TYPE = 2 OR TYPE = 3 THEN NULL
|
||||
ELSE 'ERROR' END
|
||||
AS ID2,
|
||||
'NONE' AS LMODE,
|
||||
LOCK_MODE AS REQUEST,
|
||||
@ -27574,20 +27592,33 @@ def_table_schema(
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
SVR_IP AS SVR_IP,
|
||||
SVR_PORT AS SVR_PORT,
|
||||
TENANT_ID AS TENANT_ID,
|
||||
CREATE_TRANS_ID AS TRANS_ID,
|
||||
'TM' AS TYPE,
|
||||
OBJ_ID AS ID1,
|
||||
OBJ_LOCK.SVR_IP AS SVR_IP,
|
||||
OBJ_LOCK.SVR_PORT AS SVR_PORT,
|
||||
OBJ_LOCK.TENANT_ID AS TENANT_ID,
|
||||
OBJ_LOCK.CREATE_TRANS_ID AS TRANS_ID,
|
||||
CASE WHEN OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET') THEN 'TM'
|
||||
WHEN OBJ_LOCK.OBJ_TYPE = 'DBMS_LOCK' THEN 'UL'
|
||||
ELSE 'UNKONWN' END
|
||||
AS TYPE,
|
||||
OBJ_LOCK.OBJ_ID AS ID1,
|
||||
NULL AS ID2,
|
||||
LOCK_MODE AS LMODE,
|
||||
OBJ_LOCK.LOCK_MODE AS LMODE,
|
||||
'NONE' AS REQUEST,
|
||||
TIME_AFTER_CREATE AS CTIME,
|
||||
OBJ_LOCK.TIME_AFTER_CREATE AS CTIME,
|
||||
0 AS BLOCK
|
||||
FROM
|
||||
oceanbase.__ALL_VIRTUAL_OBJ_LOCK
|
||||
WHERE (OBJ_TYPE = 'TABLE' OR OBJ_TYPE = 'TABLET') AND EXTRA_INFO LIKE '%tx_ctx%'
|
||||
oceanbase.__ALL_VIRTUAL_OBJ_LOCK AS OBJ_LOCK
|
||||
INNER JOIN
|
||||
oceanbase.__ALL_VIRTUAL_LS_INFO AS LS_INFO
|
||||
ON
|
||||
OBJ_LOCK.SVR_IP = LS_INFO.SVR_IP AND
|
||||
OBJ_LOCK.SVR_PORT = LS_INFO.SVR_PORT AND
|
||||
OBJ_LOCK.TENANT_ID = LS_INFO.TENANT_ID AND
|
||||
OBJ_LOCK.LS_ID = LS_INFO.LS_ID
|
||||
WHERE
|
||||
OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET', 'DBMS_LOCK') AND
|
||||
OBJ_LOCK.EXTRA_INFO LIKE '%tx_ctx%' AND
|
||||
LS_INFO.LS_STATE = 'LEADER'
|
||||
""".replace("\n", " ")
|
||||
)
|
||||
def_table_schema(
|
||||
@ -46723,7 +46754,23 @@ JOIN SYS.ALL_VIRTUAL_OPTSTAT_GLOBAL_PREFS_REAL_AGENT GP
|
||||
# 25253: DBA_OB_MVIEW_REFRESH_STATS
|
||||
# 25254: DBA_OB_MVIEW_REFRESH_CHANGE_STATS
|
||||
# 25255: DBA_OB_MVIEW_REFRESH_STMT_STATS
|
||||
# 25256: DBMS_LOCK_ALLOCATED
|
||||
|
||||
def_table_schema(
|
||||
owner = 'yangyifei.yyf',
|
||||
table_name = 'DBMS_LOCK_ALLOCATED',
|
||||
name_postfix = '_ORA',
|
||||
database_id = 'OB_ORA_SYS_DATABASE_ID',
|
||||
table_id = '25256',
|
||||
table_type = 'SYSTEM_VIEW',
|
||||
rowkey_columns = [],
|
||||
normal_columns = [],
|
||||
gm_columns = [],
|
||||
in_tenant_space = True,
|
||||
view_definition = """
|
||||
SELECT NAME, LOCKID, EXPIRATION FROM SYS.ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT
|
||||
""".replace("\n", " ")
|
||||
)
|
||||
|
||||
# 25257: DBA_WR_CONTROL
|
||||
def_table_schema(
|
||||
owner = 'jiajingzhe.jjz',
|
||||
@ -52428,20 +52475,20 @@ SELECT
|
||||
SVR_PORT AS SVR_PORT,
|
||||
TENANT_ID AS TENANT_ID,
|
||||
TRANS_ID AS TRANS_ID,
|
||||
CASE TYPE WHEN 1 THEN 'TR'
|
||||
WHEN 2 THEN 'TX'
|
||||
WHEN 3 THEN 'TM'
|
||||
ELSE 'UNDEFINED' END
|
||||
CASE WHEN TYPE = 1 THEN 'TR'
|
||||
WHEN TYPE = 2 THEN 'TX'
|
||||
WHEN TYPE = 3 THEN 'TM'
|
||||
ELSE 'UNDEFINED' END
|
||||
AS TYPE,
|
||||
CASE TYPE WHEN 1 THEN TABLET_ID
|
||||
WHEN 2 THEN HOLDER_TRANS_ID
|
||||
WHEN 3 THEN (SELECT DISTINCT OBJ_ID FROM SYS.ALL_VIRTUAL_OBJ_LOCK WHERE SYS.ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = SYS.ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY)
|
||||
ELSE -1 END
|
||||
CASE WHEN TYPE = 1 THEN TABLET_ID
|
||||
WHEN TYPE = 2 THEN HOLDER_TRANS_ID
|
||||
WHEN TYPE = 3 THEN (SELECT DISTINCT OBJ_ID FROM SYS.ALL_VIRTUAL_OBJ_LOCK WHERE SYS.ALL_VIRTUAL_OBJ_LOCK.LOCK_ID = SYS.ALL_VIRTUAL_LOCK_WAIT_STAT.ROWKEY)
|
||||
ELSE -1 END
|
||||
AS ID1,
|
||||
CASE TYPE WHEN 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY)
|
||||
WHEN 2 THEN NULL
|
||||
WHEN 3 THEN NULL
|
||||
ELSE 'ERROR' END
|
||||
CASE WHEN TYPE = 1 THEN CONCAT(CONCAT(HOLDER_TRANS_ID, '-'), ROWKEY)
|
||||
WHEN TYPE = 2 THEN NULL
|
||||
WHEN TYPE = 3 THEN NULL
|
||||
ELSE 'ERROR' END
|
||||
AS ID2,
|
||||
'NONE' AS LMODE,
|
||||
LOCK_MODE AS REQUEST,
|
||||
@ -52525,20 +52572,30 @@ GROUP BY SVR_IP, SVR_PORT, TENANT_ID, TRANS_ID
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
SVR_IP AS SVR_IP,
|
||||
SVR_PORT AS SVR_PORT,
|
||||
TENANT_ID AS TENANT_ID,
|
||||
CREATE_TRANS_ID AS TRANS_ID,
|
||||
'TM' AS TYPE,
|
||||
OBJ_ID AS ID1,
|
||||
OBJ_LOCK.SVR_IP AS SVR_IP,
|
||||
OBJ_LOCK.SVR_PORT AS SVR_PORT,
|
||||
OBJ_LOCK.TENANT_ID AS TENANT_ID,
|
||||
OBJ_LOCK.CREATE_TRANS_ID AS TRANS_ID,
|
||||
CASE WHEN OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET') THEN 'TM'
|
||||
WHEN OBJ_LOCK.OBJ_TYPE = 'DBMS_LOCK' THEN 'UL'
|
||||
ELSE 'UNKOWN' END
|
||||
AS TYPE,
|
||||
OBJ_LOCK.OBJ_ID AS ID1,
|
||||
NULL AS ID2,
|
||||
LOCK_MODE AS LMODE,
|
||||
OBJ_LOCK.LOCK_MODE AS LMODE,
|
||||
'NONE' AS REQUEST,
|
||||
TIME_AFTER_CREATE AS CTIME,
|
||||
OBJ_LOCK.TIME_AFTER_CREATE AS CTIME,
|
||||
0 AS BLOCK
|
||||
FROM
|
||||
SYS.ALL_VIRTUAL_OBJ_LOCK
|
||||
WHERE (OBJ_TYPE = 'TABLE' OR OBJ_TYPE = 'TABLET') AND EXTRA_INFO LIKE '%tx_ctx%'
|
||||
SYS.ALL_VIRTUAL_OBJ_LOCK OBJ_LOCK
|
||||
INNER JOIN
|
||||
SYS.ALL_VIRTUAL_LS_INFO LS_INFO
|
||||
ON
|
||||
OBJ_LOCK.SVR_IP = LS_INFO.SVR_IP AND OBJ_LOCK.SVR_PORT = LS_INFO.SVR_PORT
|
||||
AND OBJ_LOCK.TENANT_ID = LS_INFO.TENANT_ID AND OBJ_LOCK.LS_ID = LS_INFO.LS_ID
|
||||
WHERE
|
||||
OBJ_LOCK.OBJ_TYPE IN ('TABLE', 'TABLET', 'DBMS_LOCK') AND OBJ_LOCK.EXTRA_INFO LIKE '%tx_ctx%'
|
||||
AND LS_INFO.LS_STATE = 'LEADER'
|
||||
""".replace("\n", " "),
|
||||
)
|
||||
|
||||
@ -53674,8 +53731,23 @@ def_sys_index_table(
|
||||
keywords = all_def_keywords['__all_rls_context_history'])
|
||||
|
||||
# 101089 : placeholder for unique index of __all_tenant_snapshots
|
||||
# 101090 : placeholder for index of __all_dbms_lock_allocated lockhandle column
|
||||
# 101091 : placeholder for index of __all_dbms_lock_allocated expiration column
|
||||
|
||||
def_sys_index_table(
|
||||
index_name = 'idx_dbms_lock_allocated_lockhandle',
|
||||
index_table_id = 101090,
|
||||
index_columns = ['lockhandle'],
|
||||
index_using_type = 'USING_BTREE',
|
||||
index_type = 'INDEX_TYPE_NORMAL_LOCAL',
|
||||
keywords = all_def_keywords['__all_dbms_lock_allocated'])
|
||||
|
||||
def_sys_index_table(
|
||||
index_name = 'idx_dbms_lock_allocated_expiration',
|
||||
index_table_id = 101091,
|
||||
index_columns = ['expiration'],
|
||||
index_using_type = 'USING_BTREE',
|
||||
index_type = 'INDEX_TYPE_NORMAL_LOCAL',
|
||||
keywords = all_def_keywords['__all_dbms_lock_allocated'])
|
||||
|
||||
# 101092 : placeholder for index of __all_tablet_reorganize_history
|
||||
# 101093 : placeholder for index of __all_kv_ttl_task
|
||||
# 101094 : placeholder for index of __all_kv_ttl_task_history
|
||||
@ -54391,5 +54463,25 @@ def_agent_index_table(
|
||||
real_index_name = 'idx_rls_context_table_id',
|
||||
keywords = all_def_keywords['ALL_VIRTUAL_RLS_CONTEXT_REAL_AGENT_ORA'])
|
||||
|
||||
def_agent_index_table(
|
||||
index_name = 'idx_dbms_lock_allocated_lockhandle_real_agent',
|
||||
index_table_id = 15415,
|
||||
index_columns = ['lockhandle'],
|
||||
index_using_type = 'USING_BTREE',
|
||||
index_type = 'INDEX_TYPE_NORMAL_LOCAL',
|
||||
real_table_name = '__all_dbms_lock_allocated' ,
|
||||
real_index_name = 'idx_dbms_lock_allocated_lockhandle',
|
||||
keywords = all_def_keywords['ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA'])
|
||||
|
||||
def_agent_index_table(
|
||||
index_name = 'idx_dbms_lock_allocated_expiration_real_agent',
|
||||
index_table_id = 15416,
|
||||
index_columns = ['expiration'],
|
||||
index_using_type = 'USING_BTREE',
|
||||
index_type = 'INDEX_TYPE_NORMAL_LOCAL',
|
||||
real_table_name = '__all_dbms_lock_allocated' ,
|
||||
real_index_name = 'idx_dbms_lock_allocated_expiration',
|
||||
keywords = all_def_keywords['ALL_VIRTUAL_DBMS_LOCK_ALLOCATED_REAL_AGENT_ORA'])
|
||||
|
||||
# End Oracle Agent table Index
|
||||
################################################################################
|
||||
|
@ -4212,6 +4212,8 @@ case OB_ALL_RLS_GROUP_IDX_RLS_GROUP_TABLE_ID_TID:
|
||||
case OB_ALL_RLS_GROUP_HISTORY_IDX_RLS_GROUP_HIS_TABLE_ID_TID:
|
||||
case OB_ALL_RLS_CONTEXT_IDX_RLS_CONTEXT_TABLE_ID_TID:
|
||||
case OB_ALL_RLS_CONTEXT_HISTORY_IDX_RLS_CONTEXT_HIS_TABLE_ID_TID:
|
||||
case OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID:
|
||||
case OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID:
|
||||
|
||||
#endif
|
||||
|
||||
@ -4258,6 +4260,7 @@ case OB_ALL_SERVER_EVENT_HISTORY_TID:
|
||||
case OB_ALL_DDL_TASK_STATUS_TID:
|
||||
case OB_ALL_PART_TID:
|
||||
case OB_ALL_HISTOGRAM_STAT_HISTORY_TID:
|
||||
case OB_ALL_DBMS_LOCK_ALLOCATED_TID:
|
||||
case OB_ALL_PLAN_BASELINE_ITEM_TID:
|
||||
case OB_ALL_TENANT_GLOBAL_TRANSACTION_TID:
|
||||
case OB_ALL_DATABASE_TID:
|
||||
@ -4590,6 +4593,15 @@ case OB_ALL_HISTOGRAM_STAT_HISTORY_TID: {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OB_ALL_DBMS_LOCK_ALLOCATED_TID: {
|
||||
if (FAILEDx(index_tids.push_back(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID))) {
|
||||
LOG_WARN("fail to push back index tid", KR(ret));
|
||||
}
|
||||
if (FAILEDx(index_tids.push_back(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID))) {
|
||||
LOG_WARN("fail to push back index tid", KR(ret));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OB_ALL_PLAN_BASELINE_ITEM_TID: {
|
||||
if (FAILEDx(index_tids.push_back(OB_ALL_PLAN_BASELINE_ITEM_IDX_SPM_ITEM_SQL_ID_TID))) {
|
||||
LOG_WARN("fail to push back index tid", KR(ret));
|
||||
@ -5256,6 +5268,21 @@ case OB_ALL_HISTOGRAM_STAT_HISTORY_TID: {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OB_ALL_DBMS_LOCK_ALLOCATED_TID: {
|
||||
index_schema.reset();
|
||||
if (FAILEDx(ObInnerTableSchema::all_dbms_lock_allocated_idx_dbms_lock_allocated_lockhandle_schema(index_schema))) {
|
||||
LOG_WARN("fail to create index schema", KR(ret), K(tenant_id), K(data_table_id));
|
||||
} else if (OB_FAIL(append_table_(tenant_id, index_schema, tables))) {
|
||||
LOG_WARN("fail to append", KR(ret), K(tenant_id), K(data_table_id));
|
||||
}
|
||||
index_schema.reset();
|
||||
if (FAILEDx(ObInnerTableSchema::all_dbms_lock_allocated_idx_dbms_lock_allocated_expiration_schema(index_schema))) {
|
||||
LOG_WARN("fail to create index schema", KR(ret), K(tenant_id), K(data_table_id));
|
||||
} else if (OB_FAIL(append_table_(tenant_id, index_schema, tables))) {
|
||||
LOG_WARN("fail to append", KR(ret), K(tenant_id), K(data_table_id));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OB_ALL_PLAN_BASELINE_ITEM_TID: {
|
||||
index_schema.reset();
|
||||
if (FAILEDx(ObInnerTableSchema::all_plan_baseline_item_idx_spm_item_sql_id_schema(index_schema))) {
|
||||
@ -5732,5 +5759,9 @@ case OB_ALL_FOREIGN_KEY_TID: {
|
||||
LOG_WARN("add index id failed", KR(ret), K(tenant_id));
|
||||
} else if (OB_FAIL(table_ids.push_back(OB_ALL_RLS_CONTEXT_HISTORY_IDX_RLS_CONTEXT_HIS_TABLE_ID_TID))) {
|
||||
LOG_WARN("add index id failed", KR(ret), K(tenant_id));
|
||||
} else if (OB_FAIL(table_ids.push_back(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_LOCKHANDLE_TID))) {
|
||||
LOG_WARN("add index id failed", KR(ret), K(tenant_id));
|
||||
} else if (OB_FAIL(table_ids.push_back(OB_ALL_DBMS_LOCK_ALLOCATED_IDX_DBMS_LOCK_ALLOCATED_EXPIRATION_TID))) {
|
||||
LOG_WARN("add index id failed", KR(ret), K(tenant_id));
|
||||
|
||||
#endif
|
||||
|
@ -341,8 +341,12 @@ private:
|
||||
OB_LOG_(WARN, "failed to get column from row");
|
||||
}
|
||||
}
|
||||
if (OB_ITER_END == ret && 1 == iter_times) {
|
||||
ret = OB_SUCCESS;
|
||||
if (OB_ITER_END == ret) {
|
||||
if (1 == iter_times) {
|
||||
ret = OB_SUCCESS;
|
||||
} else if (0 == iter_times) {
|
||||
ret = OB_EMPTY_RESULT;
|
||||
}
|
||||
} else {
|
||||
OB_LOG_(WARN, "iter failed", K(iter_times));
|
||||
}
|
||||
|
@ -165,13 +165,14 @@ int ObLockMemtable::lock_(
|
||||
lock_mode_in_same_trans))) {
|
||||
LOG_WARN("failed to check lock exist ", K(ret), K(lock_op));
|
||||
} else if (lock_exist) {
|
||||
// do nothing
|
||||
// if the lock is DBMS_LOCK, we should return error code
|
||||
// to notify PL to return the actual execution result.
|
||||
if (lock_op.lock_id_.obj_type_ == ObLockOBJType::OBJ_TYPE_DBMS_LOCK) {
|
||||
ret = OB_OBJ_LOCK_EXIST;
|
||||
}
|
||||
LOG_INFO("lock is exist", K(ret), K(lock_op));
|
||||
} else if (FALSE_IT(lock_upgrade(lock_mode_in_same_trans, lock_op))) {
|
||||
} else if (OB_FAIL(obj_lock_map_.lock(param,
|
||||
ctx,
|
||||
lock_op,
|
||||
lock_mode_in_same_trans,
|
||||
conflict_tx_set))) {
|
||||
} else if (OB_FAIL(obj_lock_map_.lock(param, ctx, lock_op, lock_mode_in_same_trans, conflict_tx_set))) {
|
||||
if (ret != OB_TRY_LOCK_ROW_CONFLICT &&
|
||||
ret != OB_OBJ_LOCK_EXIST) {
|
||||
LOG_WARN("record lock at lock map mgr failed.", K(ret), K(lock_op));
|
||||
@ -218,8 +219,8 @@ int ObLockMemtable::lock_(
|
||||
LOG_WARN("unregister from deadlock detector failed", K(tmp_ret), K(lock_op));
|
||||
}
|
||||
}
|
||||
// return success if lock twice.
|
||||
if (ret == OB_OBJ_LOCK_EXIST) {
|
||||
// return success if lock twice, except for DBMS_LOCK.
|
||||
if (ret == OB_OBJ_LOCK_EXIST && lock_op.lock_id_.obj_type_ != ObLockOBJType::OBJ_TYPE_DBMS_LOCK) {
|
||||
ret = OB_SUCCESS;
|
||||
}
|
||||
if (OB_TRY_LOCK_ROW_CONFLICT == ret &&
|
||||
@ -467,14 +468,19 @@ int ObLockMemtable::check_lock_conflict(
|
||||
lock_mode_in_same_trans))) {
|
||||
LOG_WARN("failed to check lock exist ", K(ret), K(lock_op));
|
||||
} else if (lock_exist) {
|
||||
// if the lock is DBMS_LOCK, we should return error code
|
||||
// to notify PL to return the actual execution result.
|
||||
if (lock_op.lock_id_.obj_type_ == ObLockOBJType::OBJ_TYPE_DBMS_LOCK) {
|
||||
ret = OB_OBJ_LOCK_EXIST;
|
||||
}
|
||||
LOG_INFO("lock is exist", K(ret), K(lock_op));
|
||||
} else if (OB_FAIL(obj_lock_map_.check_allow_lock(lock_op,
|
||||
lock_mode_in_same_trans,
|
||||
conflict_tx_set,
|
||||
include_finish_tx,
|
||||
only_check_dml_lock))) {
|
||||
// if the lock exist, just return success.
|
||||
if (OB_OBJ_LOCK_EXIST == ret) {
|
||||
// return success if lock twice, except for DBMS_LOCK.
|
||||
if (OB_OBJ_LOCK_EXIST == ret && lock_op.lock_id_.obj_type_ != ObLockOBJType::OBJ_TYPE_DBMS_LOCK) {
|
||||
ret = OB_SUCCESS;
|
||||
} else if (OB_TRY_LOCK_ROW_CONFLICT == ret) {
|
||||
} else {
|
||||
|
@ -202,11 +202,14 @@ private:
|
||||
typedef common::SpinRWLock RWLock;
|
||||
typedef common::SpinRLockGuard RLockGuard;
|
||||
typedef common::SpinWLockGuard WLockGuard;
|
||||
typedef common::ObLinearHashMap<ObString, uint64_t> LockHandleMap;
|
||||
|
||||
bool is_inited_;
|
||||
|
||||
// the lock map store lock data
|
||||
ObOBJLockMap obj_lock_map_;
|
||||
LockHandleMap allocated_lockhandle_map_;
|
||||
|
||||
share::SCN freeze_scn_;
|
||||
// data before the flushed_scn_ have been flushed
|
||||
share::SCN flushed_scn_;
|
||||
|
@ -318,12 +318,12 @@ int ObLockMemCtx::check_lock_exist( //TODO(lihongqin):check it
|
||||
// BE CAREFUL: get all the lock mode curr trans has got.
|
||||
lock_mode_in_same_trans |= curr->lock_op_.lock_mode_;
|
||||
// check exist.
|
||||
if (curr->lock_op_.lock_mode_ == mode &&
|
||||
curr->lock_op_.owner_id_ == owner_id &&
|
||||
if (curr->lock_op_.owner_id_ == owner_id &&
|
||||
curr->lock_op_.op_type_ == op_type && /* different op type may lock twice */
|
||||
curr->lock_op_.lock_op_status_ == LOCK_OP_DOING) {
|
||||
is_exist = true;
|
||||
break;
|
||||
// dbms_lock can only have one obj lock
|
||||
is_exist = lock_id.obj_type_ == ObLockOBJType::OBJ_TYPE_DBMS_LOCK ? true : curr->lock_op_.lock_mode_ == mode;
|
||||
if (is_exist) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1211,7 +1211,9 @@ int ObOBJLock::check_op_allow_lock_from_list_(
|
||||
if (curr->lock_op_.create_trans_id_ == lock_op.create_trans_id_ &&
|
||||
(curr->lock_op_.op_type_ == IN_TRANS_DML_LOCK ||
|
||||
curr->lock_op_.op_type_ == IN_TRANS_COMMON_LOCK)) {
|
||||
if (curr->lock_op_.lock_op_status_ != LOCK_OP_DOING) {
|
||||
if (curr->lock_op_.lock_id_.obj_type_ == ObLockOBJType::OBJ_TYPE_DBMS_LOCK) {
|
||||
ret = OB_OBJ_LOCK_EXIST;
|
||||
} else if (curr->lock_op_.lock_op_status_ != LOCK_OP_DOING) {
|
||||
// should never be here.
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
need_break = true;
|
||||
|
@ -90,6 +90,22 @@ int lock_mode_to_string(const ObTableLockMode lock_mode,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline
|
||||
ObTableLockMode get_lock_mode_from_oracle_mode(const int64_t oracle_lock_mode)
|
||||
{
|
||||
ObTableLockMode ob_lock_mode = MAX_LOCK_MODE;
|
||||
switch (oracle_lock_mode) {
|
||||
case 1: { ob_lock_mode = NO_LOCK; break; }
|
||||
case 2: { ob_lock_mode = ROW_SHARE; break; }
|
||||
case 3: { ob_lock_mode = ROW_EXCLUSIVE; break; }
|
||||
case 4: { ob_lock_mode = SHARE; break; }
|
||||
case 5: { ob_lock_mode = SHARE_ROW_EXCLUSIVE; break; }
|
||||
case 6: { ob_lock_mode = EXCLUSIVE; break; }
|
||||
default: { ob_lock_mode = MAX_LOCK_MODE; }
|
||||
}
|
||||
return ob_lock_mode;
|
||||
}
|
||||
|
||||
static inline
|
||||
bool is_lock_mode_valid(const ObTableLockMode lock_mode)
|
||||
{
|
||||
@ -225,6 +241,7 @@ enum class ObLockOBJType : char
|
||||
OBJ_TYPE_ONLINE_DDL_TABLET = 8, // online ddl tablets
|
||||
OBJ_TYPE_DATABASE_NAME = 9, // for database related ddl
|
||||
OBJ_TYPE_OBJECT_NAME = 10, // for obj related ddl
|
||||
OBJ_TYPE_DBMS_LOCK = 11, // for dbms lock
|
||||
OBJ_TYPE_MAX
|
||||
};
|
||||
|
||||
@ -256,7 +273,15 @@ int lock_obj_type_to_string(const ObLockOBJType obj_type,
|
||||
break;
|
||||
}
|
||||
case ObLockOBJType::OBJ_TYPE_EXTERNAL_TABLE_REFRESH: {
|
||||
strncpy(str, "EXTERNAL_TABLE", str_len);
|
||||
strncpy(str, "EXTERNAL_TABLE_REFRES", str_len);
|
||||
break;
|
||||
}
|
||||
case ObLockOBJType::OBJ_TYPE_ONLINE_DDL_TABLE: {
|
||||
strncpy(str, "ONLINE_DDL_TABLE", str_len);
|
||||
break;
|
||||
}
|
||||
case ObLockOBJType::OBJ_TYPE_ONLINE_DDL_TABLET: {
|
||||
strncpy(str, "ONLINE_DDL_TABLET", str_len);
|
||||
break;
|
||||
}
|
||||
case ObLockOBJType::OBJ_TYPE_DATABASE_NAME: {
|
||||
@ -267,9 +292,12 @@ int lock_obj_type_to_string(const ObLockOBJType obj_type,
|
||||
strncpy(str, "OBJECT_NAME", str_len);
|
||||
break;
|
||||
}
|
||||
case ObLockOBJType::OBJ_TYPE_DBMS_LOCK: {
|
||||
strncpy(str, "DBMS_LOCK", str_len);
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
strncpy(str, "UNKNOWN", str_len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
@ -229,7 +229,7 @@ bool ObLockParam::is_valid() const
|
||||
|| ObLockOBJType::OBJ_TYPE_ONLINE_DDL_TABLET == lock_id_.obj_type_
|
||||
|| ObLockOBJType::OBJ_TYPE_DATABASE_NAME == lock_id_.obj_type_
|
||||
|| ObLockOBJType::OBJ_TYPE_OBJECT_NAME == lock_id_.obj_type_
|
||||
)));
|
||||
|| ObLockOBJType::OBJ_TYPE_DBMS_LOCK == lock_id_.obj_type_)));
|
||||
}
|
||||
|
||||
void ObLockRequest::reset()
|
||||
|
@ -248,6 +248,7 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr
|
||||
457 __wr_statname 0 201001 1
|
||||
458 __wr_sysstat 0 201001 1
|
||||
459 __all_balance_task_helper 0 201001 1
|
||||
471 __all_dbms_lock_allocated 0 201001 1
|
||||
472 __wr_control 0 201001 1
|
||||
473 __all_tenant_event_history 0 201001 1
|
||||
10001 __tenant_virtual_all_table 2 201001 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user