diff --git a/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp b/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp index 619ab4f010..2f6e8708fd 100644 --- a/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp +++ b/src/share/inner_table/ob_inner_table_schema.21551_21600.cpp @@ -225,6 +225,56 @@ int ObInnerTableSchema::v_ob_tenant_resource_limit_detail_schema(ObTableSchema & return ret; } +int ObInnerTableSchema::events_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_INFORMATION_SCHEMA_ID); + table_schema.set_table_id(OB_EVENTS_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_EVENTS_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 CAST(NULL AS CHARACTER(64)) AS EVENT_CATALOG, CAST(NULL AS CHARACTER(64)) AS EVENT_SCHEMA, CAST(NULL AS CHARACTER(64)) AS EVENT_NAME, CAST(NULL AS CHARACTER(93)) AS DEFINER, CAST(NULL AS CHARACTER(64)) AS TIME_ZONE, CAST(NULL AS CHARACTER(8)) AS EVENT_BODY, CAST(NULL AS CHARACTER(512)) AS EVENT_DEFINITION, CAST(NULL AS CHARACTER(9)) AS EVENT_TYPE, CAST(NULL AS TIME) AS EXECUTE_AT, CAST(NULL AS CHARACTER(256)) AS INTERVAL_VALUE, CAST(NULL AS CHARACTER(18)) AS INTERVAL_FIELD, CAST(NULL AS CHARACTER(8192)) AS SQL_MODE, CAST(NULL AS TIME) AS STARTS, CAST(NULL AS TIME) AS ENDS, CAST(NULL AS CHARACTER(18)) AS STATUS, CAST(NULL AS CHARACTER(12)) AS ON_COMPLETION, CAST(NULL AS TIME) AS CREATED, CAST(NULL AS TIME) AS LAST_ALTERED, CAST(NULL AS TIME) AS LAST_EXECUTED, CAST(NULL AS CHARACTER(64)) AS EVENT_COMMENT, CAST(NULL AS UNSIGNED) AS ORIGINATOR, CAST(NULL AS CHARACTER(32)) AS CHARACTER_SET_CLIENT, CAST(NULL AS CHARACTER(32)) AS COLLATION_CONNECTION, CAST(NULL AS CHARACTER(32)) AS DATABASE_COLLATION FROM DUAL WHERE 1 = 0 )__"))) { + 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::v_ob_nic_info_schema(ObTableSchema &table_schema) { int ret = OB_SUCCESS; diff --git a/src/share/inner_table/ob_inner_table_schema.h b/src/share/inner_table/ob_inner_table_schema.h index dce4838ed2..02d0e7edb2 100644 --- a/src/share/inner_table/ob_inner_table_schema.h +++ b/src/share/inner_table/ob_inner_table_schema.h @@ -1727,6 +1727,7 @@ public: static int v_ob_tenant_resource_limit_schema(share::schema::ObTableSchema &table_schema); static int gv_ob_tenant_resource_limit_detail_schema(share::schema::ObTableSchema &table_schema); static int v_ob_tenant_resource_limit_detail_schema(share::schema::ObTableSchema &table_schema); + static int events_schema(share::schema::ObTableSchema &table_schema); static int v_ob_nic_info_schema(share::schema::ObTableSchema &table_schema); static int gv_ob_nic_info_schema(share::schema::ObTableSchema &table_schema); static int dba_synonyms_schema(share::schema::ObTableSchema &table_schema); @@ -4535,6 +4536,7 @@ const schema_create_func sys_view_schema_creators [] = { ObInnerTableSchema::v_ob_tenant_resource_limit_schema, ObInnerTableSchema::gv_ob_tenant_resource_limit_detail_schema, ObInnerTableSchema::v_ob_tenant_resource_limit_detail_schema, + ObInnerTableSchema::events_schema, ObInnerTableSchema::v_ob_nic_info_schema, ObInnerTableSchema::gv_ob_nic_info_schema, ObInnerTableSchema::dba_synonyms_schema, @@ -6205,6 +6207,7 @@ const uint64_t tenant_space_tables [] = { OB_V_OB_TENANT_RESOURCE_LIMIT_TID, OB_GV_OB_TENANT_RESOURCE_LIMIT_DETAIL_TID, OB_V_OB_TENANT_RESOURCE_LIMIT_DETAIL_TID, + OB_EVENTS_TID, OB_V_OB_NIC_INFO_TID, OB_GV_OB_NIC_INFO_TID, OB_DBA_SYNONYMS_TID, @@ -8782,6 +8785,7 @@ const char* const tenant_space_table_names [] = { OB_V_OB_TENANT_RESOURCE_LIMIT_TNAME, OB_GV_OB_TENANT_RESOURCE_LIMIT_DETAIL_TNAME, OB_V_OB_TENANT_RESOURCE_LIMIT_DETAIL_TNAME, + OB_EVENTS_TNAME, OB_V_OB_NIC_INFO_TNAME, OB_GV_OB_NIC_INFO_TNAME, OB_DBA_SYNONYMS_TNAME, @@ -12898,10 +12902,10 @@ 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 = 295; const int64_t OB_VIRTUAL_TABLE_COUNT = 814; -const int64_t OB_SYS_VIEW_COUNT = 879; -const int64_t OB_SYS_TENANT_TABLE_COUNT = 1993; +const int64_t OB_SYS_VIEW_COUNT = 880; +const int64_t OB_SYS_TENANT_TABLE_COUNT = 1994; const int64_t OB_CORE_SCHEMA_VERSION = 1; -const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 1996; +const int64_t OB_BOOTSTRAP_SCHEMA_VERSION = 1997; } // end namespace share } // end namespace oceanbase diff --git a/src/share/inner_table/ob_inner_table_schema_constants.h b/src/share/inner_table/ob_inner_table_schema_constants.h index 669b15c3b2..d75327ca05 100644 --- a/src/share/inner_table/ob_inner_table_schema_constants.h +++ b/src/share/inner_table/ob_inner_table_schema_constants.h @@ -1463,6 +1463,7 @@ const uint64_t OB_GV_OB_TENANT_RESOURCE_LIMIT_TID = 21550; // "GV$OB_TENANT_RESO const uint64_t OB_V_OB_TENANT_RESOURCE_LIMIT_TID = 21551; // "V$OB_TENANT_RESOURCE_LIMIT" const uint64_t OB_GV_OB_TENANT_RESOURCE_LIMIT_DETAIL_TID = 21552; // "GV$OB_TENANT_RESOURCE_LIMIT_DETAIL" const uint64_t OB_V_OB_TENANT_RESOURCE_LIMIT_DETAIL_TID = 21553; // "V$OB_TENANT_RESOURCE_LIMIT_DETAIL" +const uint64_t OB_EVENTS_TID = 21580; // "EVENTS" const uint64_t OB_V_OB_NIC_INFO_TID = 21581; // "V$OB_NIC_INFO" const uint64_t OB_GV_OB_NIC_INFO_TID = 21586; // "GV$OB_NIC_INFO" const uint64_t OB_DBA_SYNONYMS_TID = 25001; // "DBA_SYNONYMS" @@ -4160,6 +4161,7 @@ const char *const OB_GV_OB_TENANT_RESOURCE_LIMIT_TNAME = "GV$OB_TENANT_RESOURCE_ const char *const OB_V_OB_TENANT_RESOURCE_LIMIT_TNAME = "V$OB_TENANT_RESOURCE_LIMIT"; const char *const OB_GV_OB_TENANT_RESOURCE_LIMIT_DETAIL_TNAME = "GV$OB_TENANT_RESOURCE_LIMIT_DETAIL"; const char *const OB_V_OB_TENANT_RESOURCE_LIMIT_DETAIL_TNAME = "V$OB_TENANT_RESOURCE_LIMIT_DETAIL"; +const char *const OB_EVENTS_TNAME = "EVENTS"; const char *const OB_V_OB_NIC_INFO_TNAME = "V$OB_NIC_INFO"; const char *const OB_GV_OB_NIC_INFO_TNAME = "GV$OB_NIC_INFO"; const char *const OB_DBA_SYNONYMS_TNAME = "DBA_SYNONYMS"; 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 a6709686f1..a97f5ae6d9 100644 --- a/src/share/inner_table/ob_inner_table_schema_def.py +++ b/src/share/inner_table/ob_inner_table_schema_def.py @@ -34467,8 +34467,45 @@ AND # 21577: INNODB_SYS_VIRTUAL # 21578: INNODB_TEMP_TABLE_INFO # 21579: INNODB_METRICS -# 21580: EVENTS - +def_table_schema( + owner = 'huangrenhuang.hrh', + tablegroup_id = 'OB_INVALID_ID', + database_id = 'OB_INFORMATION_SCHEMA_ID', + table_name = 'EVENTS', + table_id = '21580', + table_type = 'SYSTEM_VIEW', + rowkey_columns = [], + normal_columns = [], + gm_columns = [], + in_tenant_space = True, + view_definition = """ + SELECT CAST(NULL AS CHARACTER(64)) AS EVENT_CATALOG, + CAST(NULL AS CHARACTER(64)) AS EVENT_SCHEMA, + CAST(NULL AS CHARACTER(64)) AS EVENT_NAME, + CAST(NULL AS CHARACTER(93)) AS DEFINER, + CAST(NULL AS CHARACTER(64)) AS TIME_ZONE, + CAST(NULL AS CHARACTER(8)) AS EVENT_BODY, + CAST(NULL AS CHARACTER(512)) AS EVENT_DEFINITION, + CAST(NULL AS CHARACTER(9)) AS EVENT_TYPE, + CAST(NULL AS TIME) AS EXECUTE_AT, + CAST(NULL AS CHARACTER(256)) AS INTERVAL_VALUE, + CAST(NULL AS CHARACTER(18)) AS INTERVAL_FIELD, + CAST(NULL AS CHARACTER(8192)) AS SQL_MODE, + CAST(NULL AS TIME) AS STARTS, + CAST(NULL AS TIME) AS ENDS, + CAST(NULL AS CHARACTER(18)) AS STATUS, + CAST(NULL AS CHARACTER(12)) AS ON_COMPLETION, + CAST(NULL AS TIME) AS CREATED, + CAST(NULL AS TIME) AS LAST_ALTERED, + CAST(NULL AS TIME) AS LAST_EXECUTED, + CAST(NULL AS CHARACTER(64)) AS EVENT_COMMENT, + CAST(NULL AS UNSIGNED) AS ORIGINATOR, + CAST(NULL AS CHARACTER(32)) AS CHARACTER_SET_CLIENT, + CAST(NULL AS CHARACTER(32)) AS COLLATION_CONNECTION, + CAST(NULL AS CHARACTER(32)) AS DATABASE_COLLATION + FROM DUAL WHERE 1 = 0 +""".replace("\n", " ") +) def_table_schema( owner = 'gengfu.zpc', diff --git a/src/share/inner_table/table_id_to_name b/src/share/inner_table/table_id_to_name index d01563e5a5..31edf43430 100644 --- a/src/share/inner_table/table_id_to_name +++ b/src/share/inner_table/table_id_to_name @@ -2132,6 +2132,7 @@ # 21551: V$OB_TENANT_RESOURCE_LIMIT # 21552: GV$OB_TENANT_RESOURCE_LIMIT_DETAIL # 21553: V$OB_TENANT_RESOURCE_LIMIT_DETAIL +# 21580: EVENTS # 21581: V$OB_NIC_INFO # 21586: GV$OB_NIC_INFO # 25001: DBA_SYNONYMS diff --git a/tools/deploy/mysql_test/r/mysql/information_schema.result b/tools/deploy/mysql_test/r/mysql/information_schema.result index 58f69eec0e..c86e295212 100644 --- a/tools/deploy/mysql_test/r/mysql/information_schema.result +++ b/tools/deploy/mysql_test/r/mysql/information_schema.result @@ -194,6 +194,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | information_schema | CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | ENABLED_ROLES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | ENGINES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | information_schema | EVENTS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | FILES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | GLOBAL_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | GLOBAL_VARIABLES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | @@ -1664,6 +1665,7 @@ select * from information_schema.tables where table_schema in ('oceanbase', 'mys | def | information_schema | CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | ENABLED_ROLES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | ENGINES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | +| def | information_schema | EVENTS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | FILES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | GLOBAL_STATUS | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | | def | information_schema | GLOBAL_VARIABLES | SYSTEM VIEW | MEMORY | NULL | DYNAMIC | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | utf8mb4_general_ci | NULL | NULL | | diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result index f4a82b5a2e..3a095e2014 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_mysql.result @@ -6218,6 +6218,35 @@ LIMIT_VALUE bigint(20) NO select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_TENANT_RESOURCE_LIMIT_DETAIL limit 1); cnt 1 +desc information_schema.EVENTS; +Field Type Null Key Default Extra +EVENT_CATALOG varchar(64) NO +EVENT_SCHEMA varchar(64) NO +EVENT_NAME varchar(64) NO +DEFINER varchar(93) NO +TIME_ZONE varchar(64) NO +EVENT_BODY varchar(8) NO +EVENT_DEFINITION varchar(512) NO +EVENT_TYPE varchar(9) NO +EXECUTE_AT time NO +INTERVAL_VALUE varchar(256) NO +INTERVAL_FIELD varchar(18) NO +SQL_MODE text NO +STARTS time NO +ENDS time NO +STATUS varchar(18) NO +ON_COMPLETION varchar(12) NO +CREATED time NO +LAST_ALTERED time NO +LAST_EXECUTED time NO +EVENT_COMMENT varchar(64) NO +ORIGINATOR bigint(0) unsigned NO +CHARACTER_SET_CLIENT varchar(32) NO +COLLATION_CONNECTION varchar(32) NO +DATABASE_COLLATION varchar(32) NO +select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from information_schema.EVENTS limit 1); +cnt +1 desc oceanbase.V$OB_NIC_INFO; Field Type Null Key Default Extra SVR_IP varchar(46) NO diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result index 5c3aae1505..d8e51c435e 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/desc_sys_views_in_sys.result @@ -8970,6 +8970,35 @@ LIMIT_VALUE bigint(20) NO select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from oceanbase.V$OB_TENANT_RESOURCE_LIMIT_DETAIL limit 1); cnt 1 +desc information_schema.EVENTS; +Field Type Null Key Default Extra +EVENT_CATALOG varchar(64) NO +EVENT_SCHEMA varchar(64) NO +EVENT_NAME varchar(64) NO +DEFINER varchar(93) NO +TIME_ZONE varchar(64) NO +EVENT_BODY varchar(8) NO +EVENT_DEFINITION varchar(512) NO +EVENT_TYPE varchar(9) NO +EXECUTE_AT time NO +INTERVAL_VALUE varchar(256) NO +INTERVAL_FIELD varchar(18) NO +SQL_MODE text NO +STARTS time NO +ENDS time NO +STATUS varchar(18) NO +ON_COMPLETION varchar(12) NO +CREATED time NO +LAST_ALTERED time NO +LAST_EXECUTED time NO +EVENT_COMMENT varchar(64) NO +ORIGINATOR bigint(0) unsigned NO +CHARACTER_SET_CLIENT varchar(32) NO +COLLATION_CONNECTION varchar(32) NO +DATABASE_COLLATION varchar(32) NO +select /*+QUERY_TIMEOUT(60000000)*/ count(*) as cnt from (select * from information_schema.EVENTS limit 1); +cnt +1 desc oceanbase.V$OB_NIC_INFO; Field Type Null Key Default Extra SVR_IP varchar(46) NO diff --git a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result index 977b4911db..18fb270ead 100644 --- a/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result +++ b/tools/deploy/mysql_test/test_suite/inner_table/r/mysql/inner_table_overall.result @@ -1164,6 +1164,7 @@ select 0xffffffffff & table_id, table_name, table_type, database_id, part_num fr 21551 V$OB_TENANT_RESOURCE_LIMIT 1 201001 1 21552 GV$OB_TENANT_RESOURCE_LIMIT_DETAIL 1 201001 1 21553 V$OB_TENANT_RESOURCE_LIMIT_DETAIL 1 201001 1 +21580 EVENTS 1 201002 1 21581 V$OB_NIC_INFO 1 201001 1 21586 GV$OB_NIC_INFO 1 201001 1 check sys table count and table_id range success