提交 072bf595 编写于 作者: O obdev 提交者: wangzelin.wzl

Add system indexes

上级 a97444e7
......@@ -1243,9 +1243,8 @@ int ObRootInspection::check_sys_table_schemas_(
share::sys_table_schema_creators,
share::virtual_table_schema_creators,
share::sys_view_schema_creators,
// TODO: will check sys index when compat case changed.
//share::core_index_table_schema_creators,
//share::sys_index_table_schema_creators,
share::core_index_table_schema_creators,
share::sys_index_table_schema_creators,
NULL };
int back_ret = OB_SUCCESS;
......
......@@ -369,7 +369,7 @@ def print_timestamp_column(column_name, rowkey_id, index_id, part_key_pos, colum
if column_id != 0:
if column_scale > 0 :
line = """
if (OB_SUCC(ret) {{
if (OB_SUCC(ret)) {{
ObObj gmt_default;
ObObj gmt_default_null;
......@@ -468,7 +468,7 @@ def print_timestamp_column(column_name, rowkey_id, index_id, part_key_pos, colum
if column_id != 0:
if column_scale > 0 :
line = """
if (OB_SUCC(ret) {{
if (OB_SUCC(ret)) {{
ObObj gmt_default;
ObObj gmt_default_null;
......@@ -509,7 +509,7 @@ def print_timestamp_column(column_name, rowkey_id, index_id, part_key_pos, colum
{12}); //is_on_update_for_timestamp
}}
"""
cpp_f.write(line.format(column_name, column_id, rowkey_id, index_id, part_key_pos, column_type, column_collation_type, column_length, column_precision, column_scale, is_nullable, is_autoincrementi, is_on_update_for_timestamp))
cpp_f.write(line.format(column_name, column_id, rowkey_id, index_id, part_key_pos, column_type, column_collation_type, column_length, column_precision, column_scale, is_nullable, is_autoincrement, is_on_update_for_timestamp))
else:
if column_scale > 0 :
line = """
......@@ -1184,8 +1184,8 @@ def generate_sys_index_table_misc_data(f):
f.write('\n\n#ifdef SYS_INDEX_TABLE_ID_SWITCH\n' + sys_index_table_id_switch + '\n#endif\n')
sys_index_data_table_id_switch = '\n'
for kw in sys_index_tables:
sys_index_data_table_id_switch += 'case ' + table_name2tid(kw['table_name']) + ':\n'
for data_table_name in data_table_dict.keys():
sys_index_data_table_id_switch += 'case ' + table_name2tid(data_table_name) + ':\n'
f.write('\n\n#ifdef SYS_INDEX_DATA_TABLE_ID_SWITCH\n' + sys_index_data_table_id_switch + '\n#endif\n')
sys_index_data_table_id_to_index_ids_switch = '\n'
......@@ -1204,12 +1204,11 @@ def generate_sys_index_table_misc_data(f):
sys_index_data_table_id_to_index_schema_switch += 'case ' + table_name2tid(data_table_name) + ': {\n'
for kw in sys_indexs:
method_name = kw['table_name'].replace('$', '_').strip('_').lower() + '_' + kw['index_name'].lower() + '_schema'
sys_index_data_table_id_to_index_schema_switch += ' index_schema.reset();\n'
sys_index_data_table_id_to_index_schema_switch += ' if (FAILEDx(ObInnerTableSchema::' + method_name +'(index_schema))) {\n'
sys_index_data_table_id_to_index_schema_switch += ' LOG_WARN(\"fail to create index schema\", KR(ret), K(tenant_id), K(data_table_id));\n'
sys_index_data_table_id_to_index_schema_switch += ' } else if (!is_sys_tenant(tenant_id) && OB_FAIL(ObSchemaUtils::construct_tenant_space_full_table(tenant_id, index_schema))) {\n'
sys_index_data_table_id_to_index_schema_switch += ' LOG_WARN(\"fail to construct full table\", KR(ret), K(tenant_id), K(data_table_id));\n'
sys_index_data_table_id_to_index_schema_switch += ' } else if (OB_FAIL(tables.push_back(index_schema))) {\n'
sys_index_data_table_id_to_index_schema_switch += ' LOG_WARN(\"fail to push back index\", KR(ret), K(tenant_id), K(data_table_id));\n'
sys_index_data_table_id_to_index_schema_switch += ' } else if (OB_FAIL(append_table_(tenant_id, index_schema, tables))) {\n'
sys_index_data_table_id_to_index_schema_switch += ' LOG_WARN(\"fail to append\", KR(ret), K(tenant_id), K(data_table_id));\n'
sys_index_data_table_id_to_index_schema_switch += ' }\n'
sys_index_data_table_id_to_index_schema_switch += ' break;\n'
sys_index_data_table_id_to_index_schema_switch += '}\n'
......@@ -1589,6 +1588,7 @@ def def_table_schema(**keywords):
index_def = ''
calculate_rowkey_column_num(keywords)
is_oracle_sys_table = False
column_collation = 'CS_TYPE_INVALID'
##virtual table will set index_using_type to USING_HASH by default
if is_virtual_table(keywords['table_id']):
......
......@@ -9995,7 +9995,7 @@ int ObInnerTableSchema::all_virtual_tenant_profile_schema(ObTableSchema &table_s
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
OB_MAX_SQL_LENGTH, //column_length
MAX_ORACLE_NAME_LENGTH, //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable
......@@ -10286,7 +10286,7 @@ int ObInnerTableSchema::all_virtual_tenant_profile_history_schema(ObTableSchema
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
OB_MAX_SQL_LENGTH, //column_length
MAX_ORACLE_NAME_LENGTH, //column_length
-1, //column_precision
-1, //column_scale
true, //is_nullable
......
......@@ -260,7 +260,7 @@ int ObInnerTableSchema::all_virtual_tenant_profile_real_agent_ora_schema(ObTable
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_UTF8MB4_BIN, //column_collation_type
OB_MAX_SQL_LENGTH, //column_length
MAX_ORACLE_NAME_LENGTH, //column_length
2, //column_precision
-1, //column_scale
false, //is_nullable
......
......@@ -142,7 +142,7 @@ int ObInnerTableSchema::all_tenant_profile_schema(ObTableSchema &table_schema)
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
OB_MAX_SQL_LENGTH, //column_length
MAX_ORACLE_NAME_LENGTH, //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable
......@@ -449,7 +449,7 @@ int ObInnerTableSchema::all_tenant_profile_history_schema(ObTableSchema &table_s
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
OB_MAX_SQL_LENGTH, //column_length
MAX_ORACLE_NAME_LENGTH, //column_length
-1, //column_precision
-1, //column_scale
true, //is_nullable
......
......@@ -1824,10 +1824,93 @@ const uint64_t OB_ALL_VIRTUAL_SESSTAT_ORA_ALL_VIRTUAL_SESSTAT_I1_TID = 19995; //
const uint64_t OB_ALL_VIRTUAL_SYSSTAT_ORA_ALL_VIRTUAL_SYSSTAT_I1_TID = 19994; // "ALL_VIRTUAL_SYSSTAT_ORA"
const uint64_t OB_ALL_VIRTUAL_SYSTEM_EVENT_ORA_ALL_VIRTUAL_SYSTEM_EVENT_I1_TID = 19993; // "ALL_VIRTUAL_SYSTEM_EVENT_ORA"
const uint64_t OB_ALL_VIRTUAL_SQL_PLAN_MONITOR_ORA_ALL_VIRTUAL_SQL_PLAN_MONITOR_I1_TID = 19992; // "ALL_VIRTUAL_SQL_PLAN_MONITOR_ORA"
const uint64_t OB_ALL_TABLE_IDX_DATA_TABLE_ID_TID = 100001; // "__all_table"
const uint64_t OB_ALL_TABLE_IDX_DB_TB_NAME_TID = 100002; // "__all_table"
const uint64_t OB_ALL_TABLE_IDX_TB_NAME_TID = 100003; // "__all_table"
const uint64_t OB_ALL_COLUMN_IDX_TB_COLUMN_NAME_TID = 100004; // "__all_column"
const uint64_t OB_ALL_COLUMN_IDX_COLUMN_NAME_TID = 100005; // "__all_column"
const uint64_t OB_ALL_DDL_OPERATION_IDX_DDL_TYPE_TID = 100006; // "__all_ddl_operation"
const uint64_t OB_ALL_TABLE_HISTORY_IDX_DATA_TABLE_ID_TID = 101001; // "__all_table_history"
const uint64_t OB_ALL_LOG_ARCHIVE_PIECE_FILES_IDX_STATUS_TID = 101002; // "__all_log_archive_piece_files"
const uint64_t OB_ALL_BACKUP_SET_FILES_IDX_STATUS_TID = 101003; // "__all_backup_set_files"
const uint64_t OB_ALL_DDL_TASK_STATUS_IDX_TASK_KEY_TID = 101004; // "__all_ddl_task_status"
const uint64_t OB_ALL_USER_IDX_UR_NAME_TID = 101005; // "__all_user"
const uint64_t OB_ALL_DATABASE_IDX_DB_NAME_TID = 101006; // "__all_database"
const uint64_t OB_ALL_TABLEGROUP_IDX_TG_NAME_TID = 101007; // "__all_tablegroup"
const uint64_t OB_ALL_TENANT_HISTORY_IDX_TENANT_DELETED_TID = 101008; // "__all_tenant_history"
const uint64_t OB_ALL_ROOTSERVICE_EVENT_HISTORY_IDX_RS_MODULE_TID = 101009; // "__all_rootservice_event_history"
const uint64_t OB_ALL_ROOTSERVICE_EVENT_HISTORY_IDX_RS_EVENT_TID = 101010; // "__all_rootservice_event_history"
const uint64_t OB_ALL_RECYCLEBIN_IDX_RECYCLEBIN_DB_TYPE_TID = 101011; // "__all_recyclebin"
const uint64_t OB_ALL_PART_IDX_PART_NAME_TID = 101012; // "__all_part"
const uint64_t OB_ALL_SUB_PART_IDX_SUB_PART_NAME_TID = 101013; // "__all_sub_part"
const uint64_t OB_ALL_DEF_SUB_PART_IDX_DEF_SUB_PART_NAME_TID = 101014; // "__all_def_sub_part"
const uint64_t OB_ALL_SERVER_EVENT_HISTORY_IDX_SERVER_MODULE_TID = 101015; // "__all_server_event_history"
const uint64_t OB_ALL_SERVER_EVENT_HISTORY_IDX_SERVER_EVENT_TID = 101016; // "__all_server_event_history"
const uint64_t OB_ALL_ROOTSERVICE_JOB_IDX_RS_JOB_TYPE_TID = 101017; // "__all_rootservice_job"
const uint64_t OB_ALL_FOREIGN_KEY_IDX_FK_CHILD_TID_TID = 101018; // "__all_foreign_key"
const uint64_t OB_ALL_FOREIGN_KEY_IDX_FK_PARENT_TID_TID = 101019; // "__all_foreign_key"
const uint64_t OB_ALL_FOREIGN_KEY_IDX_FK_NAME_TID = 101020; // "__all_foreign_key"
const uint64_t OB_ALL_FOREIGN_KEY_HISTORY_IDX_FK_HIS_CHILD_TID_TID = 101021; // "__all_foreign_key_history"
const uint64_t OB_ALL_FOREIGN_KEY_HISTORY_IDX_FK_HIS_PARENT_TID_TID = 101022; // "__all_foreign_key_history"
const uint64_t OB_ALL_SYNONYM_IDX_DB_SYNONYM_NAME_TID = 101023; // "__all_synonym"
const uint64_t OB_ALL_SYNONYM_IDX_SYNONYM_NAME_TID = 101024; // "__all_synonym"
const uint64_t OB_ALL_DDL_CHECKSUM_IDX_DDL_CHECKSUM_TASK_TID = 101025; // "__all_ddl_checksum"
const uint64_t OB_ALL_ROUTINE_IDX_DB_ROUTINE_NAME_TID = 101026; // "__all_routine"
const uint64_t OB_ALL_ROUTINE_IDX_ROUTINE_NAME_TID = 101027; // "__all_routine"
const uint64_t OB_ALL_ROUTINE_IDX_ROUTINE_PKG_ID_TID = 101028; // "__all_routine"
const uint64_t OB_ALL_ROUTINE_PARAM_IDX_ROUTINE_PARAM_NAME_TID = 101029; // "__all_routine_param"
const uint64_t OB_ALL_PACKAGE_IDX_DB_PKG_NAME_TID = 101030; // "__all_package"
const uint64_t OB_ALL_PACKAGE_IDX_PKG_NAME_TID = 101031; // "__all_package"
const uint64_t OB_ALL_ACQUIRED_SNAPSHOT_IDX_SNAPSHOT_TABLET_TID = 101032; // "__all_acquired_snapshot"
const uint64_t OB_ALL_CONSTRAINT_IDX_CST_NAME_TID = 101033; // "__all_constraint"
const uint64_t OB_ALL_TYPE_IDX_DB_TYPE_NAME_TID = 101034; // "__all_type"
const uint64_t OB_ALL_TYPE_IDX_TYPE_NAME_TID = 101035; // "__all_type"
const uint64_t OB_ALL_TYPE_ATTR_IDX_TYPE_ATTR_NAME_TID = 101036; // "__all_type_attr"
const uint64_t OB_ALL_COLL_TYPE_IDX_COLL_NAME_TYPE_TID = 101037; // "__all_coll_type"
const uint64_t OB_ALL_DBLINK_IDX_OWNER_DBLINK_NAME_TID = 101038; // "__all_dblink"
const uint64_t OB_ALL_DBLINK_IDX_DBLINK_NAME_TID = 101039; // "__all_dblink"
const uint64_t OB_ALL_TENANT_ROLE_GRANTEE_MAP_IDX_GRANTEE_ROLE_ID_TID = 101040; // "__all_tenant_role_grantee_map"
const uint64_t OB_ALL_TENANT_ROLE_GRANTEE_MAP_HISTORY_IDX_GRANTEE_HIS_ROLE_ID_TID = 101041; // "__all_tenant_role_grantee_map_history"
const uint64_t OB_ALL_TENANT_KEYSTORE_IDX_KEYSTORE_MASTER_KEY_ID_TID = 101042; // "__all_tenant_keystore"
const uint64_t OB_ALL_TENANT_KEYSTORE_HISTORY_IDX_KEYSTORE_HIS_MASTER_KEY_ID_TID = 101043; // "__all_tenant_keystore_history"
const uint64_t OB_ALL_TENANT_OLS_POLICY_IDX_OLS_POLICY_NAME_TID = 101044; // "__all_tenant_ols_policy"
const uint64_t OB_ALL_TENANT_OLS_POLICY_IDX_OLS_POLICY_COL_NAME_TID = 101045; // "__all_tenant_ols_policy"
const uint64_t OB_ALL_TENANT_OLS_COMPONENT_IDX_OLS_COM_POLICY_ID_TID = 101046; // "__all_tenant_ols_component"
const uint64_t OB_ALL_TENANT_OLS_LABEL_IDX_OLS_LAB_POLICY_ID_TID = 101047; // "__all_tenant_ols_label"
const uint64_t OB_ALL_TENANT_OLS_LABEL_IDX_OLS_LAB_TAG_TID = 101048; // "__all_tenant_ols_label"
const uint64_t OB_ALL_TENANT_OLS_LABEL_IDX_OLS_LAB_TID = 101049; // "__all_tenant_ols_label"
const uint64_t OB_ALL_TENANT_OLS_USER_LEVEL_IDX_OLS_LEVEL_UID_TID = 101050; // "__all_tenant_ols_user_level"
const uint64_t OB_ALL_TENANT_OLS_USER_LEVEL_IDX_OLS_LEVEL_POLICY_ID_TID = 101051; // "__all_tenant_ols_user_level"
const uint64_t OB_ALL_TENANT_PROFILE_IDX_PROFILE_NAME_TID = 101052; // "__all_tenant_profile"
const uint64_t OB_ALL_TENANT_SECURITY_AUDIT_IDX_AUDIT_TYPE_TID = 101053; // "__all_tenant_security_audit"
const uint64_t OB_ALL_TENANT_TRIGGER_IDX_TRIGGER_BASE_OBJ_ID_TID = 101054; // "__all_tenant_trigger"
const uint64_t OB_ALL_TENANT_TRIGGER_IDX_DB_TRIGGER_NAME_TID = 101055; // "__all_tenant_trigger"
const uint64_t OB_ALL_TENANT_TRIGGER_IDX_TRIGGER_NAME_TID = 101056; // "__all_tenant_trigger"
const uint64_t OB_ALL_TENANT_TRIGGER_HISTORY_IDX_TRIGGER_HIS_BASE_OBJ_ID_TID = 101057; // "__all_tenant_trigger_history"
const uint64_t OB_ALL_TENANT_OBJAUTH_IDX_OBJAUTH_GRANTOR_TID = 101058; // "__all_tenant_objauth"
const uint64_t OB_ALL_TENANT_OBJAUTH_IDX_OBJAUTH_GRANTEE_TID = 101059; // "__all_tenant_objauth"
const uint64_t OB_ALL_TENANT_OBJECT_TYPE_IDX_OBJ_TYPE_DB_OBJ_NAME_TID = 101060; // "__all_tenant_object_type"
const uint64_t OB_ALL_TENANT_OBJECT_TYPE_IDX_OBJ_TYPE_OBJ_NAME_TID = 101061; // "__all_tenant_object_type"
const uint64_t OB_ALL_TENANT_GLOBAL_TRANSACTION_IDX_XA_TRANS_ID_TID = 101062; // "__all_tenant_global_transaction"
const uint64_t OB_ALL_TENANT_DEPENDENCY_IDX_DEPENDENCY_REF_OBJ_TID = 101063; // "__all_tenant_dependency"
const uint64_t OB_ALL_DDL_ERROR_MESSAGE_IDX_DDL_ERROR_OBJECT_TID = 101064; // "__all_ddl_error_message"
const uint64_t OB_ALL_TABLE_STAT_HISTORY_IDX_TABLE_STAT_HIS_SAVTIME_TID = 101065; // "__all_table_stat_history"
const uint64_t OB_ALL_COLUMN_STAT_HISTORY_IDX_COLUMN_STAT_HIS_SAVTIME_TID = 101066; // "__all_column_stat_history"
const uint64_t OB_ALL_HISTOGRAM_STAT_HISTORY_IDX_HISTOGRAM_STAT_HIS_SAVTIME_TID = 101067; // "__all_histogram_stat_history"
const uint64_t OB_ALL_TABLET_TO_LS_IDX_TABLET_TO_LS_ID_TID = 101068; // "__all_tablet_to_ls"
const uint64_t OB_ALL_TABLET_TO_LS_IDX_TABLET_TO_TABLE_ID_TID = 101069; // "__all_tablet_to_ls"
const uint64_t OB_ALL_PENDING_TRANSACTION_IDX_PENDING_TX_ID_TID = 101070; // "__all_pending_transaction"
const uint64_t OB_ALL_CONTEXT_IDX_CTX_NAMESPACE_TID = 101071; // "__all_context"
const uint64_t OB_ALL_PLAN_BASELINE_ITEM_IDX_SPM_ITEM_SQL_ID_TID = 101072; // "__all_plan_baseline_item"
const uint64_t OB_ALL_PLAN_BASELINE_ITEM_IDX_SPM_ITEM_VALUE_TID = 101073; // "__all_plan_baseline_item"
const uint64_t OB_ALL_TENANT_DIRECTORY_IDX_DIRECTORY_NAME_TID = 101074; // "__all_tenant_directory"
const uint64_t OB_ALL_JOB_IDX_JOB_POWNER_TID = 101075; // "__all_job"
const uint64_t OB_ALL_SEQUENCE_OBJECT_IDX_SEQ_OBJ_DB_NAME_TID = 101076; // "__all_sequence_object"
const uint64_t OB_ALL_SEQUENCE_OBJECT_IDX_SEQ_OBJ_NAME_TID = 101077; // "__all_sequence_object"
const uint64_t OB_ALL_RECYCLEBIN_IDX_RECYCLEBIN_ORI_NAME_TID = 101078; // "__all_recyclebin"
const uint64_t OB_ALL_TABLE_PRIVILEGE_IDX_TB_PRIV_DB_NAME_TID = 101079; // "__all_table_privilege"
const uint64_t OB_ALL_TABLE_PRIVILEGE_IDX_TB_PRIV_TB_NAME_TID = 101080; // "__all_table_privilege"
const uint64_t OB_ALL_DATABASE_PRIVILEGE_IDX_DB_PRIV_DB_NAME_TID = 101081; // "__all_database_privilege"
const char *const OB_ALL_CORE_TABLE_TNAME = "__all_core_table";
const char *const OB_ALL_TABLE_TNAME = "__all_table";
......@@ -3626,10 +3709,93 @@ const char *const OB_ALL_VIRTUAL_SESSTAT_ORA_ALL_VIRTUAL_SESSTAT_I1_TNAME = "__i
const char *const OB_ALL_VIRTUAL_SYSSTAT_ORA_ALL_VIRTUAL_SYSSTAT_I1_TNAME = "__idx_15043_all_virtual_sysstat_i1";
const char *const OB_ALL_VIRTUAL_SYSTEM_EVENT_ORA_ALL_VIRTUAL_SYSTEM_EVENT_I1_TNAME = "__idx_15044_all_virtual_system_event_i1";
const char *const OB_ALL_VIRTUAL_SQL_PLAN_MONITOR_ORA_ALL_VIRTUAL_SQL_PLAN_MONITOR_I1_TNAME = "__idx_15100_all_virtual_sql_plan_monitor_i1";
const char *const OB_ALL_TABLE_IDX_DATA_TABLE_ID_TNAME = "__idx_3_idx_data_table_id";
const char *const OB_ALL_TABLE_IDX_DB_TB_NAME_TNAME = "__idx_3_idx_db_tb_name";
const char *const OB_ALL_TABLE_IDX_TB_NAME_TNAME = "__idx_3_idx_tb_name";
const char *const OB_ALL_COLUMN_IDX_TB_COLUMN_NAME_TNAME = "__idx_4_idx_tb_column_name";
const char *const OB_ALL_COLUMN_IDX_COLUMN_NAME_TNAME = "__idx_4_idx_column_name";
const char *const OB_ALL_DDL_OPERATION_IDX_DDL_TYPE_TNAME = "__idx_5_idx_ddl_type";
const char *const OB_ALL_TABLE_HISTORY_IDX_DATA_TABLE_ID_TNAME = "__idx_114_idx_data_table_id";
const char *const OB_ALL_LOG_ARCHIVE_PIECE_FILES_IDX_STATUS_TNAME = "__idx_350_idx_status";
const char *const OB_ALL_BACKUP_SET_FILES_IDX_STATUS_TNAME = "__idx_315_idx_status";
const char *const OB_ALL_DDL_TASK_STATUS_IDX_TASK_KEY_TNAME = "__idx_319_idx_task_key";
const char *const OB_ALL_USER_IDX_UR_NAME_TNAME = "__idx_102_idx_ur_name";
const char *const OB_ALL_DATABASE_IDX_DB_NAME_TNAME = "__idx_104_idx_db_name";
const char *const OB_ALL_TABLEGROUP_IDX_TG_NAME_TNAME = "__idx_106_idx_tg_name";
const char *const OB_ALL_TENANT_HISTORY_IDX_TENANT_DELETED_TNAME = "__idx_109_idx_tenant_deleted";
const char *const OB_ALL_ROOTSERVICE_EVENT_HISTORY_IDX_RS_MODULE_TNAME = "__idx_140_idx_rs_module";
const char *const OB_ALL_ROOTSERVICE_EVENT_HISTORY_IDX_RS_EVENT_TNAME = "__idx_140_idx_rs_event";
const char *const OB_ALL_RECYCLEBIN_IDX_RECYCLEBIN_DB_TYPE_TNAME = "__idx_145_idx_recyclebin_db_type";
const char *const OB_ALL_PART_IDX_PART_NAME_TNAME = "__idx_146_idx_part_name";
const char *const OB_ALL_SUB_PART_IDX_SUB_PART_NAME_TNAME = "__idx_148_idx_sub_part_name";
const char *const OB_ALL_DEF_SUB_PART_IDX_DEF_SUB_PART_NAME_TNAME = "__idx_152_idx_def_sub_part_name";
const char *const OB_ALL_SERVER_EVENT_HISTORY_IDX_SERVER_MODULE_TNAME = "__idx_154_idx_server_module";
const char *const OB_ALL_SERVER_EVENT_HISTORY_IDX_SERVER_EVENT_TNAME = "__idx_154_idx_server_event";
const char *const OB_ALL_ROOTSERVICE_JOB_IDX_RS_JOB_TYPE_TNAME = "__idx_155_idx_rs_job_type";
const char *const OB_ALL_FOREIGN_KEY_IDX_FK_CHILD_TID_TNAME = "__idx_166_idx_fk_child_tid";
const char *const OB_ALL_FOREIGN_KEY_IDX_FK_PARENT_TID_TNAME = "__idx_166_idx_fk_parent_tid";
const char *const OB_ALL_FOREIGN_KEY_IDX_FK_NAME_TNAME = "__idx_166_idx_fk_name";
const char *const OB_ALL_FOREIGN_KEY_HISTORY_IDX_FK_HIS_CHILD_TID_TNAME = "__idx_167_idx_fk_his_child_tid";
const char *const OB_ALL_FOREIGN_KEY_HISTORY_IDX_FK_HIS_PARENT_TID_TNAME = "__idx_167_idx_fk_his_parent_tid";
const char *const OB_ALL_SYNONYM_IDX_DB_SYNONYM_NAME_TNAME = "__idx_180_idx_db_synonym_name";
const char *const OB_ALL_SYNONYM_IDX_SYNONYM_NAME_TNAME = "__idx_180_idx_synonym_name";
const char *const OB_ALL_DDL_CHECKSUM_IDX_DDL_CHECKSUM_TASK_TNAME = "__idx_188_idx_ddl_checksum_task";
const char *const OB_ALL_ROUTINE_IDX_DB_ROUTINE_NAME_TNAME = "__idx_189_idx_db_routine_name";
const char *const OB_ALL_ROUTINE_IDX_ROUTINE_NAME_TNAME = "__idx_189_idx_routine_name";
const char *const OB_ALL_ROUTINE_IDX_ROUTINE_PKG_ID_TNAME = "__idx_189_idx_routine_pkg_id";
const char *const OB_ALL_ROUTINE_PARAM_IDX_ROUTINE_PARAM_NAME_TNAME = "__idx_191_idx_routine_param_name";
const char *const OB_ALL_PACKAGE_IDX_DB_PKG_NAME_TNAME = "__idx_196_idx_db_pkg_name";
const char *const OB_ALL_PACKAGE_IDX_PKG_NAME_TNAME = "__idx_196_idx_pkg_name";
const char *const OB_ALL_ACQUIRED_SNAPSHOT_IDX_SNAPSHOT_TABLET_TNAME = "__idx_202_idx_snapshot_tablet";
const char *const OB_ALL_CONSTRAINT_IDX_CST_NAME_TNAME = "__idx_206_idx_cst_name";
const char *const OB_ALL_TYPE_IDX_DB_TYPE_NAME_TNAME = "__idx_220_idx_db_type_name";
const char *const OB_ALL_TYPE_IDX_TYPE_NAME_TNAME = "__idx_220_idx_type_name";
const char *const OB_ALL_TYPE_ATTR_IDX_TYPE_ATTR_NAME_TNAME = "__idx_222_idx_type_attr_name";
const char *const OB_ALL_COLL_TYPE_IDX_COLL_NAME_TYPE_TNAME = "__idx_224_idx_coll_name_type";
const char *const OB_ALL_DBLINK_IDX_OWNER_DBLINK_NAME_TNAME = "__idx_232_idx_owner_dblink_name";
const char *const OB_ALL_DBLINK_IDX_DBLINK_NAME_TNAME = "__idx_232_idx_dblink_name";
const char *const OB_ALL_TENANT_ROLE_GRANTEE_MAP_IDX_GRANTEE_ROLE_ID_TNAME = "__idx_235_idx_grantee_role_id";
const char *const OB_ALL_TENANT_ROLE_GRANTEE_MAP_HISTORY_IDX_GRANTEE_HIS_ROLE_ID_TNAME = "__idx_236_idx_grantee_his_role_id";
const char *const OB_ALL_TENANT_KEYSTORE_IDX_KEYSTORE_MASTER_KEY_ID_TNAME = "__idx_237_idx_keystore_master_key_id";
const char *const OB_ALL_TENANT_KEYSTORE_HISTORY_IDX_KEYSTORE_HIS_MASTER_KEY_ID_TNAME = "__idx_238_idx_keystore_his_master_key_id";
const char *const OB_ALL_TENANT_OLS_POLICY_IDX_OLS_POLICY_NAME_TNAME = "__idx_239_idx_ols_policy_name";
const char *const OB_ALL_TENANT_OLS_POLICY_IDX_OLS_POLICY_COL_NAME_TNAME = "__idx_239_idx_ols_policy_col_name";
const char *const OB_ALL_TENANT_OLS_COMPONENT_IDX_OLS_COM_POLICY_ID_TNAME = "__idx_241_idx_ols_com_policy_id";
const char *const OB_ALL_TENANT_OLS_LABEL_IDX_OLS_LAB_POLICY_ID_TNAME = "__idx_243_idx_ols_lab_policy_id";
const char *const OB_ALL_TENANT_OLS_LABEL_IDX_OLS_LAB_TAG_TNAME = "__idx_243_idx_ols_lab_tag";
const char *const OB_ALL_TENANT_OLS_LABEL_IDX_OLS_LAB_TNAME = "__idx_243_idx_ols_lab";
const char *const OB_ALL_TENANT_OLS_USER_LEVEL_IDX_OLS_LEVEL_UID_TNAME = "__idx_245_idx_ols_level_uid";
const char *const OB_ALL_TENANT_OLS_USER_LEVEL_IDX_OLS_LEVEL_POLICY_ID_TNAME = "__idx_245_idx_ols_level_policy_id";
const char *const OB_ALL_TENANT_PROFILE_IDX_PROFILE_NAME_TNAME = "__idx_250_idx_profile_name";
const char *const OB_ALL_TENANT_SECURITY_AUDIT_IDX_AUDIT_TYPE_TNAME = "__idx_252_idx_audit_type";
const char *const OB_ALL_TENANT_TRIGGER_IDX_TRIGGER_BASE_OBJ_ID_TNAME = "__idx_254_idx_trigger_base_obj_id";
const char *const OB_ALL_TENANT_TRIGGER_IDX_DB_TRIGGER_NAME_TNAME = "__idx_254_idx_db_trigger_name";
const char *const OB_ALL_TENANT_TRIGGER_IDX_TRIGGER_NAME_TNAME = "__idx_254_idx_trigger_name";
const char *const OB_ALL_TENANT_TRIGGER_HISTORY_IDX_TRIGGER_HIS_BASE_OBJ_ID_TNAME = "__idx_255_idx_trigger_his_base_obj_id";
const char *const OB_ALL_TENANT_OBJAUTH_IDX_OBJAUTH_GRANTOR_TNAME = "__idx_262_idx_objauth_grantor";
const char *const OB_ALL_TENANT_OBJAUTH_IDX_OBJAUTH_GRANTEE_TNAME = "__idx_262_idx_objauth_grantee";
const char *const OB_ALL_TENANT_OBJECT_TYPE_IDX_OBJ_TYPE_DB_OBJ_NAME_TNAME = "__idx_283_idx_obj_type_db_obj_name";
const char *const OB_ALL_TENANT_OBJECT_TYPE_IDX_OBJ_TYPE_OBJ_NAME_TNAME = "__idx_283_idx_obj_type_obj_name";
const char *const OB_ALL_TENANT_GLOBAL_TRANSACTION_IDX_XA_TRANS_ID_TNAME = "__idx_296_idx_xa_trans_id";
const char *const OB_ALL_TENANT_DEPENDENCY_IDX_DEPENDENCY_REF_OBJ_TNAME = "__idx_297_idx_dependency_ref_obj";
const char *const OB_ALL_DDL_ERROR_MESSAGE_IDX_DDL_ERROR_OBJECT_TNAME = "__idx_308_idx_ddl_error_object";
const char *const OB_ALL_TABLE_STAT_HISTORY_IDX_TABLE_STAT_HIS_SAVTIME_TNAME = "__idx_332_idx_table_stat_his_savtime";
const char *const OB_ALL_COLUMN_STAT_HISTORY_IDX_COLUMN_STAT_HIS_SAVTIME_TNAME = "__idx_333_idx_column_stat_his_savtime";
const char *const OB_ALL_HISTOGRAM_STAT_HISTORY_IDX_HISTOGRAM_STAT_HIS_SAVTIME_TNAME = "__idx_334_idx_histogram_stat_his_savtime";
const char *const OB_ALL_TABLET_TO_LS_IDX_TABLET_TO_LS_ID_TNAME = "__idx_343_idx_tablet_to_ls_id";
const char *const OB_ALL_TABLET_TO_LS_IDX_TABLET_TO_TABLE_ID_TNAME = "__idx_343_idx_tablet_to_table_id";
const char *const OB_ALL_PENDING_TRANSACTION_IDX_PENDING_TX_ID_TNAME = "__idx_375_idx_pending_tx_id";
const char *const OB_ALL_CONTEXT_IDX_CTX_NAMESPACE_TNAME = "__idx_381_idx_ctx_namespace";
const char *const OB_ALL_PLAN_BASELINE_ITEM_IDX_SPM_ITEM_SQL_ID_TNAME = "__idx_397_idx_spm_item_sql_id";
const char *const OB_ALL_PLAN_BASELINE_ITEM_IDX_SPM_ITEM_VALUE_TNAME = "__idx_397_idx_spm_item_value";
const char *const OB_ALL_TENANT_DIRECTORY_IDX_DIRECTORY_NAME_TNAME = "__idx_326_idx_directory_name";
const char *const OB_ALL_JOB_IDX_JOB_POWNER_TNAME = "__idx_324_idx_job_powner";
const char *const OB_ALL_SEQUENCE_OBJECT_IDX_SEQ_OBJ_DB_NAME_TNAME = "__idx_213_idx_seq_obj_db_name";
const char *const OB_ALL_SEQUENCE_OBJECT_IDX_SEQ_OBJ_NAME_TNAME = "__idx_213_idx_seq_obj_name";
const char *const OB_ALL_RECYCLEBIN_IDX_RECYCLEBIN_ORI_NAME_TNAME = "__idx_145_idx_recyclebin_ori_name";
const char *const OB_ALL_TABLE_PRIVILEGE_IDX_TB_PRIV_DB_NAME_TNAME = "__idx_110_idx_tb_priv_db_name";
const char *const OB_ALL_TABLE_PRIVILEGE_IDX_TB_PRIV_TB_NAME_TNAME = "__idx_110_idx_tb_priv_tb_name";
const char *const OB_ALL_DATABASE_PRIVILEGE_IDX_DB_PRIV_DB_NAME_TNAME = "__idx_112_idx_db_priv_db_name";
// initial data for __all_privilege
struct PrivilegeRow {
......
......@@ -484,7 +484,7 @@ int ObSysTableChecker::append_sys_table_index_schemas(
{
int ret = OB_SUCCESS;
if (ObSysTableChecker::is_sys_table_has_index(data_table_id)) {
SMART_VAR(ObTableSchema, index_schema) {
HEAP_VAR(ObTableSchema, index_schema) {
switch (data_table_id) {
#define SYS_INDEX_DATA_TABLE_ID_TO_INDEX_SCHEMAS_SWITCH
#include "share/inner_table/ob_inner_table_schema_misc.ipp"
......@@ -495,7 +495,21 @@ int ObSysTableChecker::append_sys_table_index_schemas(
break;
}
}
} // end SMART_VAR
} // end HEAP_VAR
}
return ret;
}
int ObSysTableChecker::append_table_(
const uint64_t tenant_id,
share::schema::ObTableSchema &index_schema,
common::ObIArray<share::schema::ObTableSchema> &tables)
{
int ret = OB_SUCCESS;
if (!is_sys_tenant(tenant_id) && OB_FAIL(ObSchemaUtils::construct_tenant_space_full_table(tenant_id, index_schema))) {
LOG_WARN("fail to construct full table", KR(ret), K(tenant_id), "data_table_id", index_schema.get_data_table_id());
} else if (OB_FAIL(tables.push_back(index_schema))) {
LOG_WARN("fail to push back index", KR(ret), K(tenant_id), "data_table_id", index_schema.get_data_table_id());
}
return ret;
}
......
......@@ -5658,6 +5658,10 @@ private:
int ob_write_string(
const common::ObString &src,
common::ObString &dst);
static int append_table_(
const uint64_t tenant_id,
share::schema::ObTableSchema &index_schema,
common::ObIArray<share::schema::ObTableSchema> &tables);
public:
static ObSysTableChecker &instance();
int init();
......
......@@ -171,7 +171,11 @@ int ObMemtable::init(const ObITable::TableKey &table_key,
} else {
ls_ = ls;
ObMemtableStat::get_instance().register_memtable(this);
mode_ = MTL(lib::Worker::CompatMode);
if (table_key.get_tablet_id().is_sys_tablet()) {
mode_ = lib::Worker::CompatMode::MYSQL;
} else {
mode_ = MTL(lib::Worker::CompatMode);
}
state_ = ObMemtableState::ACTIVE;
freeze_state_ = ObMemtableFreezeState::NOT_READY_FOR_FLUSH;
timestamp_ = ObTimeUtility::current_time();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册