From 4d0305025eb991c1574193446d80ac3d6f8f018c Mon Sep 17 00:00:00 2001 From: oceanoverflow Date: Wed, 28 Feb 2024 13:44:48 +0000 Subject: [PATCH] add place holder to master --- .../virtual_table/ob_all_virtual_table_mgr.cpp | 4 ++++ .../virtual_table/ob_all_virtual_table_mgr.h | 3 ++- .../ob_inner_table_schema.12001_12050.cpp | 15 +++++++++++++++ .../ob_inner_table_schema.15051_15100.cpp | 15 +++++++++++++++ .../inner_table/ob_inner_table_schema_def.py | 1 + src/storage/backup/ob_backup_data_struct.h | 6 +++++- src/storage/blocksstable/ob_macro_block_id.h | 1 + .../r/mysql/desc_virtual_table_in_mysql.result | 1 + .../r/mysql/desc_virtual_table_in_sys.result | 1 + 9 files changed, 45 insertions(+), 2 deletions(-) diff --git a/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp b/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp index 49ebfd8aec..ec4f37daa7 100644 --- a/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp +++ b/src/observer/virtual_table/ob_all_virtual_table_mgr.cpp @@ -314,6 +314,10 @@ int ObAllVirtualTableMgr::process_curr_tenant(common::ObNewRow *&row) cur_row_.cells_[i].set_int(data_checksum); break; } + case TABLE_FLAG: + // TODO(yanfeng): only for place holder purpose, need change when auto_split branch merge + cur_row_.cells_[i].set_int(0); + break; default: ret = OB_ERR_UNEXPECTED; SERVER_LOG(WARN, "invalid col_id", K(ret), K(col_id)); diff --git a/src/observer/virtual_table/ob_all_virtual_table_mgr.h b/src/observer/virtual_table/ob_all_virtual_table_mgr.h index f2314a975d..b27df41020 100644 --- a/src/observer/virtual_table/ob_all_virtual_table_mgr.h +++ b/src/observer/virtual_table/ob_all_virtual_table_mgr.h @@ -56,7 +56,8 @@ class ObAllVirtualTableMgr : public common::ObVirtualTableScannerIterator, NESTED_OFFSET, NESTED_SIZE, CG_IDX, - DATA_CHECKSUM + DATA_CHECKSUM, + TABLE_FLAG }; public: ObAllVirtualTableMgr(); diff --git a/src/share/inner_table/ob_inner_table_schema.12001_12050.cpp b/src/share/inner_table/ob_inner_table_schema.12001_12050.cpp index 05be510076..2f81357820 100644 --- a/src/share/inner_table/ob_inner_table_schema.12001_12050.cpp +++ b/src/share/inner_table/ob_inner_table_schema.12001_12050.cpp @@ -2977,6 +2977,21 @@ int ObInnerTableSchema::all_virtual_table_mgr_schema(ObTableSchema &table_schema false, //is_nullable false); //is_autoincrement } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("table_flag", //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)) { 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.15051_15100.cpp b/src/share/inner_table/ob_inner_table_schema.15051_15100.cpp index 8b06d1cbe0..bfd710f5b3 100644 --- a/src/share/inner_table/ob_inner_table_schema.15051_15100.cpp +++ b/src/share/inner_table/ob_inner_table_schema.15051_15100.cpp @@ -3447,6 +3447,21 @@ int ObInnerTableSchema::all_virtual_table_mgr_ora_schema(ObTableSchema &table_sc false, //is_nullable false); //is_autoincrement } + + if (OB_SUCC(ret)) { + ADD_COLUMN_SCHEMA("TABLE_FLAG", //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); 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 3e16b5a266..10095e6054 100644 --- a/src/share/inner_table/ob_inner_table_schema_def.py +++ b/src/share/inner_table/ob_inner_table_schema_def.py @@ -9964,6 +9964,7 @@ def_table_schema( ('nested_size', 'int'), ('cg_idx', 'int'), ('data_checksum', 'int'), + ('table_flag', 'int'), ], partition_columns = ['svr_ip', 'svr_port'], vtable_route_policy = 'distributed', diff --git a/src/storage/backup/ob_backup_data_struct.h b/src/storage/backup/ob_backup_data_struct.h index 23c1e495e1..3984ff46b3 100644 --- a/src/storage/backup/ob_backup_data_struct.h +++ b/src/storage/backup/ob_backup_data_struct.h @@ -78,7 +78,9 @@ enum ObBackupBlockType { BACKUP_BLOCK_MARCO_RANGE_INDEX = 4, BACKUP_BLOCK_MARCO_RANGE_INDEX_INDEX = 5, BACKUP_BLOCK_META_INDEX_INDEX = 6, - BACKUP_BLOCK_MAX = 6, + BACKUP_BLOCK_MACRO_BLOCK_INDEX = 7, + BACKUP_BLOCK_MACRO_BLOCK_INDEX_INDEX = 8, + BACKUP_BLOCK_MAX, }; enum ObBackupRestoreMode { @@ -140,6 +142,7 @@ enum ObBackupFileType { BACKUP_MACRO_RANGE_INDEX_FILE = 1, BACKUP_META_INDEX_FILE = 2, BACKUP_SEC_META_INDEX_FILE = 3, + BACKUP_MACRO_BLOCK_INDEX_FILE = 4, BACKUP_FILE_TYPE_MAX, }; @@ -147,6 +150,7 @@ enum ObBackupFileMagic { BACKUP_DATA_FILE_MAGIC = 0x0F0F, BACKUP_MACRO_RANGE_INDEX_FILE_MAGIC = 0x1F1F, BACKUP_META_INDEX_FILE_MAGIC = 0x2F2F, + BACKUP_MACRO_BLOCK_INDEX_FILE_MAGIC = 0x3F3F, BACKUP_MAGIC_MAX = 0xFFFF, }; diff --git a/src/storage/blocksstable/ob_macro_block_id.h b/src/storage/blocksstable/ob_macro_block_id.h index ce0acb870b..c6ba231307 100644 --- a/src/storage/blocksstable/ob_macro_block_id.h +++ b/src/storage/blocksstable/ob_macro_block_id.h @@ -22,6 +22,7 @@ namespace blocksstable enum class ObMacroBlockIdMode : uint8_t { ID_MODE_LOCAL = 0, + ID_MODE_BACKUP = 1, ID_MODE_MAX, }; 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 413e45f687..44802154eb 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 @@ -1637,6 +1637,7 @@ nested_offset bigint(20) NO NULL nested_size bigint(20) NO NULL cg_idx bigint(20) NO NULL data_checksum bigint(20) NO NULL +table_flag bigint(20) NO NULL select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_table_mgr; 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 b002138b25..afe7687a29 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 @@ -2185,6 +2185,7 @@ nested_offset bigint(20) NO NULL nested_size bigint(20) NO NULL cg_idx bigint(20) NO NULL data_checksum bigint(20) NO NULL +table_flag bigint(20) NO NULL select /*+QUERY_TIMEOUT(60000000)*/ IF(count(*) >= 0, 1, 0) from oceanbase.__all_virtual_table_mgr; IF(count(*) >= 0, 1, 0) 1