diff --git a/unittest/data_dictionary/test_data_dict_storager_iterator.cpp b/unittest/data_dictionary/test_data_dict_storager_iterator.cpp index 0e6cc5f6d03fee3e69c0a34fe461da97f92da09e..acfa0105c6b3d7ec38e15c88bec2581b3f126208 100644 --- a/unittest/data_dictionary/test_data_dict_storager_iterator.cpp +++ b/unittest/data_dictionary/test_data_dict_storager_iterator.cpp @@ -251,15 +251,23 @@ TEST(ObDataDictStorage, test_schema_storage) ObSEArray tenant_schemas; ObSEArray database_schemas; ObSEArray table_schemas; + ObTenantSchema *tenant_schema = NULL; for (int i = 0; i < expected_tenant_cnt; i++) { - ObTenantSchema tenant_schema; - EXPECT_EQ(OB_SUCCESS, schema_builder.build_tenant_schema(tenant_schema)); - EXPECT_EQ(OB_SUCCESS, tenant_schemas.push_back(&tenant_schema)); + tenant_schema = static_cast(allocator.alloc(sizeof(ObTableSchema))); + EXPECT_TRUE(NULL != tenant_schema); + new(tenant_schema) ObTableSchema(); + tenant_schema->reset(); + EXPECT_EQ(OB_SUCCESS, schema_builder.build_tenant_schema(*tenant_schema)); + EXPECT_EQ(OB_SUCCESS, tenant_schemas.push_back(tenant_schema)); } + ObDatabaseSchema *database_schema = NULL; for (int i = 0; i < expected_db_cnt; i++) { - ObDatabaseSchema database_schema; - EXPECT_EQ(OB_SUCCESS, schema_builder.build_database_schema(database_schema)); - EXPECT_EQ(OB_SUCCESS, database_schemas.push_back(&database_schema)); + database_schema = static_cast(allocator.alloc(sizeof(ObDatabaseSchema))); + EXPECT_TRUE(NULL != database_schema); + new(database_schema) ObDatabaseSchema(); + database_schema->reset(); + EXPECT_EQ(OB_SUCCESS, schema_builder.build_database_schema(*database_schema)); + EXPECT_EQ(OB_SUCCESS, database_schemas.push_back(database_schema)); } //for (int i = 0; i < expected_tb_cnt; i++) { //ObTableSchema table_schema;