patch 4.0
This commit is contained in:
@ -11,33 +11,23 @@
|
||||
*/
|
||||
|
||||
#include "storage/ob_partition_component_factory.h"
|
||||
#include "storage/ob_partition_service.h"
|
||||
#include "storage/memtable/ob_memtable.h"
|
||||
#include "storage/replayengine/ob_log_replay_engine.h"
|
||||
#include "clog/ob_log_replay_engine_wrapper.h"
|
||||
#include "storage/ob_partition_migrator.h"
|
||||
#include "storage/ob_partition_base_data_ob_reader.h"
|
||||
#include "storage/ob_partition_base_data_restore_reader.h"
|
||||
#include "storage/ob_table_mgr.h"
|
||||
#include "storage/ob_replay_status.h"
|
||||
#include "storage/ob_partition_group.h"
|
||||
#include "storage/ob_partition_base_data_backup.h"
|
||||
#include "storage/ob_migrate_macro_block_writer.h"
|
||||
#include "storage/ob_partition_base_data_backup.h"
|
||||
#include "storage/ob_partition_base_data_ob_reader.h"
|
||||
#include "storage/ob_partition_backup.h"
|
||||
#include "share/allocator/ob_tenant_mutil_allocator.h"
|
||||
#include "lib/allocator/ob_pcounter.h"
|
||||
#include "ls/ob_ls.h"
|
||||
#include "storage/tx/ob_trans_service.h"
|
||||
|
||||
namespace oceanbase {
|
||||
namespace oceanbase
|
||||
{
|
||||
using namespace oceanbase::common;
|
||||
using namespace oceanbase::clog;
|
||||
using namespace oceanbase::transaction;
|
||||
using namespace oceanbase::memtable;
|
||||
using namespace oceanbase::replayengine;
|
||||
using namespace oceanbase::election;
|
||||
namespace storage {
|
||||
ObMemtable* ObPartitionComponentFactory::get_memtable(const uint64_t tenant_id)
|
||||
namespace storage
|
||||
{
|
||||
|
||||
static const char *MEMORY_LABEL_COMPONENT_FACTORY = "PartitionComponentFactory";
|
||||
|
||||
ObMemtable *ObPartitionComponentFactory::get_memtable(const uint64_t tenant_id)
|
||||
{
|
||||
ObMemtable* obj = ObMemtableFactory::alloc(tenant_id);
|
||||
if (NULL != obj) {
|
||||
@ -46,233 +36,28 @@ ObMemtable* ObPartitionComponentFactory::get_memtable(const uint64_t tenant_id)
|
||||
return obj;
|
||||
}
|
||||
|
||||
ObSSTable* ObPartitionComponentFactory::get_sstable(const uint64_t tenant_id)
|
||||
ObTransService *ObPartitionComponentFactory::get_trans_service()
|
||||
{
|
||||
ObMemAttr memattr(tenant_id, ObModIds::OB_SSTABLE, ObCtxIds::SSTABLE_CTX_ID);
|
||||
return OB_NEW_ALIGN32(ObSSTable, memattr);
|
||||
return OB_NEW(ObTransService, MEMORY_LABEL_COMPONENT_FACTORY);
|
||||
}
|
||||
|
||||
ObTransService* ObPartitionComponentFactory::get_trans_service()
|
||||
{
|
||||
return op_alloc(ObTransService);
|
||||
}
|
||||
|
||||
ObICLogMgr* ObPartitionComponentFactory::get_clog_mgr()
|
||||
{
|
||||
return op_alloc(ObCLogMgr);
|
||||
}
|
||||
|
||||
ObPartitionService* ObPartitionComponentFactory::get_partition_service()
|
||||
{
|
||||
return op_alloc(ObPartitionService);
|
||||
}
|
||||
|
||||
ObPartitionStorage* ObPartitionComponentFactory::get_partition_storage(const uint64_t tenant_id)
|
||||
{
|
||||
ObMemAttr memattr(tenant_id, ObModIds::OB_PARTITION_STORAGE, ObCtxIds::STORAGE_LONG_TERM_META_CTX_ID);
|
||||
return OB_NEW_ALIGN32(ObPartitionStorage, memattr);
|
||||
}
|
||||
|
||||
ObIPartitionGroup* ObPartitionComponentFactory::get_partition(const uint64_t tenant_id)
|
||||
ObLS *ObPartitionComponentFactory::get_ls(const uint64_t tenant_id)
|
||||
{
|
||||
ObMemAttr memattr(tenant_id, ObModIds::OB_PARTITION, ObCtxIds::STORAGE_LONG_TERM_META_CTX_ID);
|
||||
ObIPartitionGroup* obj = OB_NEW_ALIGN32(ObPartitionGroup, memattr);
|
||||
ObLS *obj = OB_NEW_ALIGN32(ObLS, memattr);
|
||||
if (!OB_ISNULL(obj)) {
|
||||
PC_ADD(PT, 1);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
ObReplayStatus* ObPartitionComponentFactory::get_replay_status(const uint64_t tenant_id)
|
||||
void ObPartitionComponentFactory::free(ObIPartitionGroup *partition)
|
||||
{
|
||||
ObMemAttr memattr(tenant_id, ObModIds::OB_REPLAY_STATUS, ObCtxIds::REPLAY_STATUS_CTX_ID);
|
||||
ObReplayStatus* obj = OB_NEW_ALIGN32(ObReplayStatus, memattr);
|
||||
if (!OB_ISNULL(obj)) {
|
||||
PC_ADD(RT, 1);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
ObILogReplayEngine* ObPartitionComponentFactory::get_replay_engine()
|
||||
{
|
||||
return op_alloc(ObLogReplayEngine);
|
||||
UNUSEDx(partition);
|
||||
}
|
||||
|
||||
ObIElectionMgr* ObPartitionComponentFactory::get_election_mgr()
|
||||
{
|
||||
return op_alloc(ObElectionMgr);
|
||||
}
|
||||
|
||||
ObIPartitionLogService* ObPartitionComponentFactory::get_log_service(const uint64_t tenant_id)
|
||||
{
|
||||
common::ObILogAllocator* alloc_mgr = NULL;
|
||||
ObIPartitionLogService* ret_ptr = NULL;
|
||||
if (OB_SUCCESS == TMA_MGR_INSTANCE.get_tenant_log_allocator(tenant_id, alloc_mgr)) {
|
||||
ret_ptr = alloc_mgr->alloc_partition_log_service();
|
||||
}
|
||||
return ret_ptr;
|
||||
}
|
||||
|
||||
ObLogReplayEngineWrapper* ObPartitionComponentFactory::get_replay_engine_wrapper()
|
||||
{
|
||||
return op_alloc(ObLogReplayEngineWrapper);
|
||||
}
|
||||
|
||||
ObWarmUpService* ObPartitionComponentFactory::get_warm_up_service()
|
||||
{
|
||||
return op_alloc(ObWarmUpService);
|
||||
}
|
||||
|
||||
// ObMinorFreeze *ObPartitionComponentFactory::get_minor_freeze()
|
||||
// {
|
||||
// return op_alloc(ObMinorFreeze);
|
||||
// }
|
||||
|
||||
ObMigrateCtx* ObPartitionComponentFactory::get_migrate_ctx()
|
||||
{
|
||||
return op_alloc(ObMigrateCtx);
|
||||
}
|
||||
|
||||
ObPhysicalBaseMetaReader* ObPartitionComponentFactory::get_base_data_meta_ob_reader()
|
||||
{
|
||||
return op_alloc(ObPhysicalBaseMetaReader);
|
||||
}
|
||||
|
||||
ObPartitionMacroBlockObReader* ObPartitionComponentFactory::get_macro_block_ob_reader()
|
||||
{
|
||||
return op_alloc(ObPartitionMacroBlockObReader);
|
||||
}
|
||||
|
||||
ObPartGroupMigrationTask* ObPartitionComponentFactory::get_part_group_migration_task()
|
||||
{
|
||||
return op_alloc(ObPartGroupMigrationTask);
|
||||
}
|
||||
|
||||
ObPartitionBaseDataMetaRestoreReader* ObPartitionComponentFactory::get_meta_restore_reader()
|
||||
{
|
||||
return op_alloc(ObPartitionBaseDataMetaRestoreReader);
|
||||
}
|
||||
|
||||
ObPartitionBaseDataMetaObReader* ObPartitionComponentFactory::get_old_rpc_base_data_meta_reader()
|
||||
{
|
||||
return op_alloc(ObPartitionBaseDataMetaObReader);
|
||||
}
|
||||
|
||||
ObPGPartitionBaseDataMetaObReader* ObPartitionComponentFactory::get_pg_info_reader()
|
||||
{
|
||||
return op_alloc(ObPGPartitionBaseDataMetaObReader);
|
||||
}
|
||||
|
||||
ObPartGroupBackupTask* ObPartitionComponentFactory::get_part_group_backup_task()
|
||||
{
|
||||
return op_alloc(ObPartGroupBackupTask);
|
||||
}
|
||||
|
||||
ObPhysicalBaseMetaBackupReader* ObPartitionComponentFactory::get_base_data_meta_backup_reader()
|
||||
{
|
||||
return op_alloc(ObPhysicalBaseMetaBackupReader);
|
||||
}
|
||||
|
||||
ObPartitionMacroBlockBackupReader* ObPartitionComponentFactory::get_macro_block_backup_reader()
|
||||
{
|
||||
return op_alloc(ObPartitionMacroBlockBackupReader);
|
||||
}
|
||||
|
||||
ObPartitionBaseDataMetaBackupReader* ObPartitionComponentFactory::get_meta_backup_reader()
|
||||
{
|
||||
return op_alloc(ObPartitionBaseDataMetaBackupReader);
|
||||
}
|
||||
|
||||
ObPGPartitionBaseDataMetaBackupReader* ObPartitionComponentFactory::get_pg_info_backup_reader()
|
||||
{
|
||||
return op_alloc(ObPGPartitionBaseDataMetaBackupReader);
|
||||
}
|
||||
|
||||
ObPartitionGroupMetaBackupReader* ObPartitionComponentFactory::get_partition_group_meta_backup_reader()
|
||||
{
|
||||
return op_alloc(ObPartitionGroupMetaBackupReader);
|
||||
}
|
||||
|
||||
ObPhysicalBaseMetaRestoreReaderV1* ObPartitionComponentFactory::get_base_data_meta_restore_reader_v1()
|
||||
{
|
||||
return op_alloc(ObPhysicalBaseMetaRestoreReaderV1);
|
||||
}
|
||||
|
||||
ObPartitionMacroBlockRestoreReaderV1* ObPartitionComponentFactory::get_macro_block_restore_reader_v1()
|
||||
{
|
||||
return op_alloc(ObPartitionMacroBlockRestoreReaderV1);
|
||||
}
|
||||
|
||||
ObPartitionMacroBlockRestoreReaderV2* ObPartitionComponentFactory::get_macro_block_restore_reader_v2()
|
||||
{
|
||||
return op_alloc(ObPartitionMacroBlockRestoreReaderV2);
|
||||
}
|
||||
|
||||
ObPartitionBaseDataMetaRestoreReaderV1* ObPartitionComponentFactory::get_meta_restore_reader_v1()
|
||||
{
|
||||
return op_alloc(ObPartitionBaseDataMetaRestoreReaderV1);
|
||||
}
|
||||
|
||||
ObPGPartitionBaseDataMetaRestoreReaderV1* ObPartitionComponentFactory::get_pg_info_restore_reader_v1()
|
||||
{
|
||||
return op_alloc(ObPGPartitionBaseDataMetaRestoreReaderV1);
|
||||
}
|
||||
|
||||
ObPartitionGroupMetaRestoreReaderV1* ObPartitionComponentFactory::get_partition_group_meta_restore_reader_v1()
|
||||
{
|
||||
return op_alloc(ObPartitionGroupMetaRestoreReaderV1);
|
||||
}
|
||||
|
||||
ObPartitionGroupMetaRestoreReaderV2* ObPartitionComponentFactory::get_partition_group_meta_restore_reader_v2()
|
||||
{
|
||||
return op_alloc(ObPartitionGroupMetaRestoreReaderV2);
|
||||
}
|
||||
|
||||
ObPhysicalBaseMetaRestoreReaderV2* ObPartitionComponentFactory::get_base_data_meta_restore_reader_v2()
|
||||
{
|
||||
return op_alloc(ObPhysicalBaseMetaRestoreReaderV2);
|
||||
}
|
||||
|
||||
ObPGPartitionBaseDataMetaRestoreReaderV2* ObPartitionComponentFactory::get_pg_info_restore_reader_v2()
|
||||
{
|
||||
return op_alloc(ObPGPartitionBaseDataMetaRestoreReaderV2);
|
||||
}
|
||||
|
||||
ObPhyRestoreMacroIndexStore* ObPartitionComponentFactory::get_phy_restore_macro_index()
|
||||
{
|
||||
return op_alloc(ObPhyRestoreMacroIndexStore);
|
||||
}
|
||||
|
||||
ObPhyRestoreMacroIndexStoreV2* ObPartitionComponentFactory::get_phy_restore_macro_index_v2()
|
||||
{
|
||||
return op_alloc(ObPhyRestoreMacroIndexStoreV2);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPartitionGroup* partition)
|
||||
{
|
||||
if (NULL != partition) {
|
||||
OB_DELETE_ALIGN32(ObIPartitionGroup, unused, partition);
|
||||
partition = NULL;
|
||||
PC_ADD(PT, -1);
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObReplayStatus* replay_status)
|
||||
{
|
||||
if (NULL != replay_status) {
|
||||
OB_DELETE_ALIGN32(ObReplayStatus, unused, replay_status);
|
||||
replay_status = NULL;
|
||||
PC_ADD(RT, -1);
|
||||
}
|
||||
}
|
||||
void ObPartitionComponentFactory::free(ObSSTable* sstable)
|
||||
{
|
||||
if (NULL != sstable) {
|
||||
OB_DELETE_ALIGN32(ObSSTable, unused, sstable);
|
||||
sstable = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(memtable::ObMemtable* memtable)
|
||||
void ObPartitionComponentFactory::free(memtable::ObMemtable *memtable)
|
||||
{
|
||||
if (NULL != memtable) {
|
||||
PC_ADD(MT, -1);
|
||||
@ -281,259 +66,11 @@ void ObPartitionComponentFactory::free(memtable::ObMemtable* memtable)
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObTransService* txs)
|
||||
void ObPartitionComponentFactory::free(ObTransService *txs)
|
||||
{
|
||||
op_free(txs);
|
||||
OB_DELETE(ObTransService, MEMORY_LABEL_COMPONENT_FACTORY, txs);
|
||||
txs = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObICLogMgr* clog_mgr)
|
||||
{
|
||||
op_free(static_cast<ObCLogMgr*>(clog_mgr));
|
||||
clog_mgr = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionService* ptt_service)
|
||||
{
|
||||
op_free(ptt_service);
|
||||
ptt_service = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionStorage* ptt_storage)
|
||||
{
|
||||
if (NULL != ptt_storage) {
|
||||
OB_DELETE_ALIGN32(ObPartitionStorage, unused, ptt_storage);
|
||||
ptt_storage = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObILogReplayEngine* rp_eg)
|
||||
{
|
||||
op_free(static_cast<ObLogReplayEngine*>(rp_eg));
|
||||
rp_eg = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIElectionMgr* election_mgr)
|
||||
{
|
||||
op_free(static_cast<ObElectionMgr*>(election_mgr));
|
||||
election_mgr = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPartitionLogService* log_service)
|
||||
{
|
||||
if (NULL != log_service) {
|
||||
common::ob_slice_free_partition_log_service(log_service);
|
||||
log_service = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObLogReplayEngineWrapper* rp_eg)
|
||||
{
|
||||
op_free(static_cast<ObLogReplayEngineWrapper*>(rp_eg));
|
||||
rp_eg = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObWarmUpService* warm_up_service)
|
||||
{
|
||||
op_free(warm_up_service);
|
||||
warm_up_service = NULL;
|
||||
}
|
||||
|
||||
// void ObPartitionComponentFactory::free(ObIPSFreezeCb *minor_freeze)
|
||||
// {
|
||||
// op_free(static_cast<ObMinorFreeze *>(minor_freeze));
|
||||
// minor_freeze = NULL;
|
||||
// }
|
||||
|
||||
void ObPartitionComponentFactory::free(ObMigrateCtx* ctx)
|
||||
{
|
||||
component_free(ctx);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPhysicalBaseMetaReader* reader)
|
||||
{
|
||||
if (NULL != reader) {
|
||||
if (ObIPhysicalBaseMetaReader::BASE_DATA_META_OB_READER == reader->get_type()) {
|
||||
component_free(static_cast<ObPhysicalBaseMetaReader*>(reader));
|
||||
} else if (ObIPhysicalBaseMetaReader::BASE_DATA_META_OB_COMPAT_READER == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionBaseDataMetaObReader*>(reader));
|
||||
} else if (ObIPhysicalBaseMetaReader::BASE_DATA_META_RESTORE_READER_V1 == reader->get_type()) {
|
||||
component_free(static_cast<ObPhysicalBaseMetaRestoreReaderV1*>(reader));
|
||||
} else if (ObIPhysicalBaseMetaReader::BASE_DATA_META_RESTORE_READER_V2 == reader->get_type()) {
|
||||
component_free(static_cast<ObPhysicalBaseMetaRestoreReaderV2*>(reader));
|
||||
} else {
|
||||
STORAGE_LOG(ERROR, "unknown reader type", "type", reader->get_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPartitionMacroBlockReader* reader)
|
||||
{
|
||||
if (NULL != reader) {
|
||||
if (ObIPartitionMacroBlockReader::MACRO_BLOCK_OB_READER == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionMacroBlockObReader*>(reader));
|
||||
} else if (ObIPartitionMacroBlockReader::MACRO_BLOCK_BACKUP_READER == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionMacroBlockBackupReader*>(reader));
|
||||
} else if (ObIPartitionMacroBlockReader::MACRO_BLOCK_RESTORE_READER_V2 == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionMacroBlockRestoreReaderV2*>(reader));
|
||||
} else if (ObIPartitionMacroBlockReader::MACRO_BLOCK_RESTORE_READER_V1 == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionMacroBlockRestoreReaderV1*>(reader));
|
||||
} else {
|
||||
STORAGE_LOG(ERROR, "unknown reader type", "type", reader->get_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartGroupMigrationTask*& task)
|
||||
{
|
||||
component_free(task);
|
||||
task = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionBaseDataMetaRestoreReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionBaseDataMetaObReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPGPartitionBaseDataMetaObReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPGPartitionBaseDataMetaObReader* reader)
|
||||
{
|
||||
if (NULL != reader) {
|
||||
if (ObIPGPartitionBaseDataMetaObReader::BASE_DATA_META_OB_READER == reader->get_type()) {
|
||||
free(static_cast<ObPGPartitionBaseDataMetaObReader*>(reader));
|
||||
} else if (ObIPGPartitionBaseDataMetaObReader::BASE_DATA_META_OB_BACKUP_READER == reader->get_type()) {
|
||||
free(static_cast<ObPGPartitionBaseDataMetaBackupReader*>(reader));
|
||||
} else if (ObIPGPartitionBaseDataMetaObReader::BASE_DATA_META_OB_RESTORE_READER_V1 == reader->get_type()) {
|
||||
free(static_cast<ObPGPartitionBaseDataMetaRestoreReaderV1*>(reader));
|
||||
} else if (ObIPGPartitionBaseDataMetaObReader::BASE_DATA_META_OB_RESTORE_READER_V2 == reader->get_type()) {
|
||||
free(static_cast<ObPGPartitionBaseDataMetaRestoreReaderV2*>(reader));
|
||||
} else {
|
||||
STORAGE_LOG(ERROR, "unknown reader type", "type", reader->get_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartGroupBackupTask*& task)
|
||||
{
|
||||
component_free(task);
|
||||
task = NULL;
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartGroupTask*& task)
|
||||
{
|
||||
if (NULL != task) {
|
||||
if (ObPartGroupTask::PART_GROUP_MIGATION_TASK == task->get_task_type()) {
|
||||
ObPartGroupMigrationTask* tmp_task = static_cast<ObPartGroupMigrationTask*>(task);
|
||||
free(tmp_task);
|
||||
task = NULL;
|
||||
} else if (ObPartGroupTask::PART_GROUP_BACKUP_TASK == task->get_task_type()) {
|
||||
ObPartGroupBackupTask* tmp_task = static_cast<ObPartGroupBackupTask*>(task);
|
||||
free(tmp_task);
|
||||
task = NULL;
|
||||
} else {
|
||||
STORAGE_LOG(ERROR, "unknown task type", "type", task->get_task_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPhysicalBaseMetaBackupReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionMacroBlockBackupReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionBaseDataMetaBackupReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPGPartitionBaseDataMetaBackupReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionGroupMetaBackupReader* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPhysicalBaseMetaRestoreReaderV1* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
void ObPartitionComponentFactory::free(ObPartitionMacroBlockRestoreReaderV2* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionBaseDataMetaRestoreReaderV1* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPGPartitionBaseDataMetaRestoreReaderV1* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionGroupMetaRestoreReaderV1* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPartitionGroupMetaRestoreReader* reader)
|
||||
{
|
||||
if (NULL != reader) {
|
||||
if (ObIPartitionGroupMetaRestoreReader::PG_META_RESTORE_READER_V1 == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionGroupMetaRestoreReaderV1*>(reader));
|
||||
} else if (ObIPartitionGroupMetaRestoreReader::PG_META_RESTORE_READER_V2 == reader->get_type()) {
|
||||
component_free(static_cast<ObPartitionGroupMetaRestoreReaderV2*>(reader));
|
||||
} else {
|
||||
STORAGE_LOG(ERROR, "unknown reader type", "type", reader->get_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPartitionGroupMetaRestoreReaderV2* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPhysicalBaseMetaRestoreReaderV2* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObPGPartitionBaseDataMetaRestoreReaderV2* reader)
|
||||
{
|
||||
component_free(reader);
|
||||
}
|
||||
|
||||
void ObPartitionComponentFactory::free(ObIPhyRestoreMacroIndexStore* macro_index)
|
||||
{
|
||||
if (NULL != macro_index) {
|
||||
if (ObIPhyRestoreMacroIndexStore::PHY_RESTORE_MACRO_INDEX_STORE_V1 == macro_index->get_type()) {
|
||||
component_free(static_cast<ObPhyRestoreMacroIndexStore*>(macro_index));
|
||||
} else if (ObIPhyRestoreMacroIndexStore::PHY_RESTORE_MACRO_INDEX_STORE_V2 == macro_index->get_type()) {
|
||||
component_free(static_cast<ObPhyRestoreMacroIndexStoreV2*>(macro_index));
|
||||
} else {
|
||||
STORAGE_LOG(ERROR, "unknown macro index type", "type", macro_index->get_type());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace storage
|
||||
} // namespace oceanbase
|
||||
} // namespace storage
|
||||
} // namespace oceanbase
|
||||
|
||||
Reference in New Issue
Block a user