From 47206f879a05aaeaac7a9394bb03ca0cfd01ffed Mon Sep 17 00:00:00 2001 From: linqiucen Date: Mon, 26 Feb 2024 11:22:31 +0000 Subject: [PATCH] service_name placeholder --- .../virtual_table/ob_show_processlist.cpp | 4 ++++ src/observer/virtual_table/ob_show_processlist.h | 1 + .../ob_inner_table_schema.10001_10050.cpp | 15 +++++++++++++++ .../ob_inner_table_schema.15001_15050.cpp | 15 +++++++++++++++ .../inner_table/ob_inner_table_schema_def.py | 5 +++++ .../r/mysql/desc_virtual_table_in_mysql.result | 1 + .../r/mysql/desc_virtual_table_in_sys.result | 1 + 7 files changed, 42 insertions(+) diff --git a/src/observer/virtual_table/ob_show_processlist.cpp b/src/observer/virtual_table/ob_show_processlist.cpp index e82faa46d2..ef851cf246 100644 --- a/src/observer/virtual_table/ob_show_processlist.cpp +++ b/src/observer/virtual_table/ob_show_processlist.cpp @@ -452,6 +452,10 @@ bool ObShowProcesslist::FillScanner::operator()(sql::ObSQLSessionMgr::Key key, O cur_row_->cells_[cell_idx].set_null(); break; } + case SERVICE_NAME: { + cur_row_->cells_[cell_idx].set_null(); + break; + } default: { ret = OB_ERR_UNEXPECTED; SERVER_LOG(WARN, "invalid column id", K(ret), K(cell_idx), diff --git a/src/observer/virtual_table/ob_show_processlist.h b/src/observer/virtual_table/ob_show_processlist.h index 218d799d9d..dc77a4bcf2 100644 --- a/src/observer/virtual_table/ob_show_processlist.h +++ b/src/observer/virtual_table/ob_show_processlist.h @@ -80,6 +80,7 @@ private: OUT_BYTES, USER_CLIENT_PORT, PROXY_USER_NAME, + SERVICE_NAME, }; class FillScanner { diff --git a/src/share/inner_table/ob_inner_table_schema.10001_10050.cpp b/src/share/inner_table/ob_inner_table_schema.10001_10050.cpp index fbfd2f16e0..9a8f794d01 100644 --- a/src/share/inner_table/ob_inner_table_schema.10001_10050.cpp +++ b/src/share/inner_table/ob_inner_table_schema.10001_10050.cpp @@ -2056,6 +2056,21 @@ int ObInnerTableSchema::all_virtual_processlist_schema(ObTableSchema &table_sche true, //is_nullable false); //is_autoincrement } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("service_name", //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 + 64, //column_length + -1, //column_precision + -1, //column_scale + true, //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); diff --git a/src/share/inner_table/ob_inner_table_schema.15001_15050.cpp b/src/share/inner_table/ob_inner_table_schema.15001_15050.cpp index 8eacb9a7e4..8028e5e9cb 100644 --- a/src/share/inner_table/ob_inner_table_schema.15001_15050.cpp +++ b/src/share/inner_table/ob_inner_table_schema.15001_15050.cpp @@ -9048,6 +9048,21 @@ int ObInnerTableSchema::all_virtual_processlist_ora_schema(ObTableSchema &table_ true, //is_nullable false); //is_autoincrement } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("SERVICE_NAME", //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 + 64, //column_length + 2, //column_precision + -1, //column_scale + true, //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); diff --git a/src/share/inner_table/ob_inner_table_schema_def.py b/src/share/inner_table/ob_inner_table_schema_def.py index 18ba5821a4..0a05f45cd0 100644 --- a/src/share/inner_table/ob_inner_table_schema_def.py +++ b/src/share/inner_table/ob_inner_table_schema_def.py @@ -6915,6 +6915,7 @@ def_table_schema(**all_tenant_snapshot_ls_replica_history_def) # 513 : __all_user_proxy_info_history # 514 : __all_user_proxy_role_info # 515 : __all_user_proxy_role_info_history +# 516 : __all_service # 余留位置(此行之前占位) # 本区域占位建议:采用真实表名进行占位 @@ -7168,6 +7169,7 @@ def_table_schema( ('out_bytes', 'bigint'), ('user_client_port', 'int', 'false', '0'), ('proxy_user', 'varchar:OB_MAX_USER_NAME_LENGTH_STORE', 'true'), + ('service_name', 'varchar:64', 'true'), ], partition_columns = ['svr_ip', 'svr_port'], vtable_route_policy = 'distributed', @@ -32856,6 +32858,8 @@ def_table_schema( # 21545: V$OB_COMPATIBILITY_CONTROL # 21546: DBA_OB_RSRC_DIRECTIVES # 21547: CDB_OB_RSRC_DIRECTIVES +# 21548: DBA_OB_SERVICES +# 21549: CDB_OB_SERVICES # # 余留位置(此行之前占位) # 本区域占位建议:采用真实视图名进行占位 @@ -52686,6 +52690,7 @@ def_table_schema( ) # 25301: PROXY_USERS +# 25302: DBA_OB_SERVICES # # 余留位置(此行之前占位) diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result index 49f9568bd0..aec58904b2 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_mysql.result @@ -128,6 +128,7 @@ in_bytes bigint(20) NO NULL out_bytes bigint(20) NO NULL user_client_port bigint(20) NO 0 proxy_user varchar(128) YES NULL +service_name varchar(64) YES NULL select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_processlist; IF(count(*) >= 0, 1, 0) 1 diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result index b9782e9245..13af312c3b 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_virtual_table_in_sys.result @@ -129,6 +129,7 @@ in_bytes bigint(20) NO NULL out_bytes bigint(20) NO NULL user_client_port bigint(20) NO 0 proxy_user varchar(128) YES NULL +service_name varchar(64) YES NULL select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_processlist; IF(count(*) >= 0, 1, 0) 1