@@ -623,7 +623,8 @@ void TestIndexBlockDataPrepare::prepare_data(const int64_t micro_block_size)
623623 scn.convert_for_tx (SNAPSHOT_VERSION);
624624 ObWholeDataStoreDesc desc;
625625 ASSERT_EQ (OB_SUCCESS, desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_, SNAPSHOT_VERSION,
626- DATA_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , scn));
626+ DATA_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ ,
627+ 0 /* concurrent_cnt*/ , scn));
627628 desc.get_desc ().static_desc_ ->schema_version_ = 10 ;
628629 void *builder_buf = allocator_.alloc (sizeof (ObSSTableIndexBuilder));
629630 root_index_builder_ = new (builder_buf) ObSSTableIndexBuilder (false /* not need writer buffer*/ );
@@ -672,7 +673,8 @@ void TestIndexBlockDataPrepare::prepare_discontinuous_data(const int64_t micro_b
672673 scn.convert_for_tx (SNAPSHOT_VERSION);
673674 ObWholeDataStoreDesc desc;
674675 ASSERT_EQ (OB_SUCCESS, desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_, SNAPSHOT_VERSION,
675- DATA_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , scn));
676+ DATA_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , 0 /* concurrent_cnt*/ ,
677+ scn));
676678 desc.get_desc ().static_desc_ ->schema_version_ = 10 ;
677679 void *builder_buf = allocator_.alloc (sizeof (ObSSTableIndexBuilder));
678680 root_index_builder_ = new (builder_buf) ObSSTableIndexBuilder (false /* not need writer buffer*/ );
@@ -744,7 +746,8 @@ void TestIndexBlockDataPrepare::prepare_cg_data()
744746 ObWholeDataStoreDesc desc;
745747 share::SCN scn;
746748 scn.convert_for_tx (SNAPSHOT_VERSION);
747- ASSERT_EQ (OB_SUCCESS, desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_, SNAPSHOT_VERSION, DATA_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , scn));
749+ ASSERT_EQ (OB_SUCCESS, desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_,
750+ SNAPSHOT_VERSION, DATA_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , 0 /* concurrent_cnt*/ , scn));
748751 ObIArray<ObColDesc> &col_descs = desc.get_desc ().col_desc_ ->col_desc_array_ ;
749752 for (int64_t i = 0 ; i < col_descs.count (); ++i) {
750753 if (col_descs.at (i).col_type_ .type_ == ObIntType) {
@@ -766,8 +769,7 @@ void TestIndexBlockDataPrepare::prepare_cg_data()
766769 OK (data_desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_),
767770 merge_type_, SNAPSHOT_VERSION, DATA_CURRENT_VERSION,
768771 table_schema_.get_micro_index_clustered (),
769- 0 /* transfer_seq*/ ,
770- scn, &cg_schema, 0 ));
772+ 0 /* transfer_seq*/ , 0 /* concurrent_cnt*/ , scn, &cg_schema, 0 ));
771773 data_desc.get_desc ().static_desc_ ->schema_version_ = 10 ;
772774 void *builder_buf = allocator_.alloc (sizeof (ObSSTableIndexBuilder));
773775 root_index_builder_ = new (builder_buf) ObSSTableIndexBuilder (false /* not need writer buffer*/ );
@@ -811,7 +813,9 @@ void TestIndexBlockDataPrepare::prepare_ddl_memtable()
811813
812814 share::SCN ddl_start_scn;
813815 ddl_start_scn.convert_from_ts (ObTimeUtility::current_time ());
814- ASSERT_EQ (OB_SUCCESS, ddl_memtable_.init (allocator_, *tablet_handle.get_obj (), sstable_.get_key (), ddl_start_scn, DATA_CURRENT_VERSION));
816+ ObStorageSchema *storage_schema = nullptr ;
817+ ASSERT_EQ (OB_SUCCESS, tablet_handle.get_obj ()->load_storage_schema (allocator_, storage_schema));
818+ ASSERT_EQ (OB_SUCCESS, ddl_memtable_.init (allocator_, *tablet_handle.get_obj (), sstable_.get_key (), ddl_start_scn, DATA_CURRENT_VERSION, storage_schema));
815819
816820 SMART_VAR (ObSSTableSecMetaIterator, meta_iter) {
817821 ObDatumRange query_range;
@@ -942,9 +946,12 @@ void TestIndexBlockDataPrepare::prepare_partial_ddl_data()
942946 ObMacroBlockWriter writer;
943947 row_generate_.reset ();
944948 ObWholeDataStoreDesc desc;
949+ const share::SCN reorganization_scn (share::SCN::min_scn ());
945950 share::SCN end_scn;
946951 end_scn.convert_from_ts (ObTimeUtility::current_time ());
947- ASSERT_EQ (OB_SUCCESS, desc.init (true /* is ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_, SNAPSHOT_VERSION, CLUSTER_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , end_scn));
952+ ASSERT_EQ (OB_SUCCESS, desc.init (true /* is ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_),
953+ merge_type_, SNAPSHOT_VERSION, CLUSTER_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ ,
954+ 0 /* concurrent_cnt*/ , end_scn));
948955 void *builder_buf = allocator_.alloc (sizeof (ObSSTableIndexBuilder));
949956 merge_root_index_builder_ = new (builder_buf) ObSSTableIndexBuilder (false /* not need writer buffer */ );
950957 ASSERT_NE (nullptr , merge_root_index_builder_);
@@ -1019,7 +1026,9 @@ void TestIndexBlockDataPrepare::prepare_partial_cg_data()
10191026 ObWholeDataStoreDesc desc;
10201027 share::SCN end_scn;
10211028 end_scn.convert_from_ts (ObTimeUtility::current_time ());
1022- ASSERT_EQ (OB_SUCCESS, desc.init (true /* is ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_, SNAPSHOT_VERSION, CLUSTER_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , end_scn));
1029+ ASSERT_EQ (OB_SUCCESS, desc.init (true /* is ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_),
1030+ merge_type_, SNAPSHOT_VERSION, CLUSTER_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ ,
1031+ 0 /* concurrent_cnt*/ , end_scn));
10231032 void *builder_buf = allocator_.alloc (sizeof (ObSSTableIndexBuilder));
10241033 merge_root_index_builder_ = new (builder_buf) ObSSTableIndexBuilder (false /* not need index buffer */ );
10251034 ASSERT_NE (nullptr , merge_root_index_builder_);
@@ -1256,7 +1265,9 @@ void TestIndexBlockDataPrepare::prepare_contrastive_sstable()
12561265 ObWholeDataStoreDesc desc;
12571266 share::SCN end_scn;
12581267 end_scn.convert_from_ts (ObTimeUtility::current_time ());
1259- ASSERT_EQ (OB_SUCCESS, desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_), merge_type_, SNAPSHOT_VERSION, CLUSTER_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ , end_scn));
1268+ ASSERT_EQ (OB_SUCCESS, desc.init (false /* is_ddl*/ , table_schema_, ObLSID (ls_id_), ObTabletID (tablet_id_),
1269+ merge_type_, SNAPSHOT_VERSION, CLUSTER_CURRENT_VERSION, table_schema_.get_micro_index_clustered (), 0 /* transfer_seq*/ ,
1270+ 0 /* concurrent_cnt*/ , end_scn));
12601271 void *builder_buf = allocator_.alloc (sizeof (ObSSTableIndexBuilder));
12611272 root_index_builder_ = new (builder_buf) ObSSTableIndexBuilder (false /* not need writer buffer*/ );
12621273 ASSERT_NE (nullptr , root_index_builder_);
@@ -1317,13 +1328,19 @@ void TestIndexBlockDataPrepare::prepare_merge_ddl_kvs()
13171328 ObITable::TableKey ddl_key = sstable_.get_key ();
13181329 ddl_key.table_type_ = ObITable::TableType::MAJOR_SSTABLE;
13191330 for (int64_t i = 0 ; i < DDL_KVS_CNT; ++i) {
1320- void *buf = allocator_ .alloc (sizeof (ObDDLMemtable));
1331+ void *buf = ddl_kv_handle_. get_obj ()-> ddl_memtable_allocator_ .alloc (sizeof (ObDDLMemtable));
13211332 ASSERT_NE (nullptr , buf);
13221333 ObDDLMemtable *new_ddl_table = new (buf) ObDDLMemtable;
13231334 ddl_key.slice_range_ .start_slice_idx_ = 0 ;
13241335 ddl_key.slice_range_ .end_slice_idx_ = 0 ;
1325- ASSERT_EQ (OB_SUCCESS, new_ddl_table->init (allocator_, *tablet_handle.get_obj (), ddl_key, ddl_start_scn, 4000 ));
1336+ ObStorageSchema *storage_schema = nullptr ;
1337+ void *buf2 = ddl_kv_handle_.get_obj ()->ddl_memtable_allocator_ .alloc (sizeof (ObArenaAllocator));
1338+ ASSERT_NE (nullptr , buf2);
1339+ ObArenaAllocator *allocator = new (buf2) ObArenaAllocator ();
1340+ ASSERT_EQ (OB_SUCCESS, tablet_handle.get_obj ()->load_storage_schema (allocator_, storage_schema));
1341+ ASSERT_EQ (OB_SUCCESS, new_ddl_table->init (*allocator, *tablet_handle.get_obj (), ddl_key, ddl_start_scn, 4000 , storage_schema));
13261342 ASSERT_EQ (OB_SUCCESS, ddl_kv_handle_.get_obj ()->get_ddl_memtables ().push_back (new_ddl_table));
1343+ ASSERT_EQ (OB_SUCCESS, ddl_kv_handle_.get_obj ()->get_ddl_memtable_allocators ().push_back (allocator));
13271344 }
13281345 ObDDLKVHandle kv_handle;
13291346 ObDDLKvMgrHandle ddl_kv_mgr_handle;
0 commit comments