[FEAT MERGE] Merge DBMS_LOCK feature to master

This commit is contained in:
YangEfei 2023-09-01 02:40:49 +00:00 committed by ob-robot
parent d63cad4745
commit d2cc567fb3
24 changed files with 1529 additions and 83 deletions

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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));
}
}

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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) {

View File

@ -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];

View File

@ -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 {

View File

@ -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
################################################################################

View File

@ -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

View File

@ -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));
}

View File

@ -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 {

View File

@ -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_;

View File

@ -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;
}
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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()

View File

@ -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