MCPcopy Create free account
hub / github.com/ByConity/ByConity / buildPartFromMeta

Function buildPartFromMeta

src/Storages/MergeTree/MergeTreeMetaDataCommon.cpp:89–107  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

87}
88
89MutableDataPartPtr buildPartFromMeta(const MergeTreeMetaBase & storage, const String & part_name, const Protos::DataPartModel & part_data)
90{
91 MergeTreePartInfo part_info;
92 if (!MergeTreePartInfo::tryParsePartName(part_name, &part_info, storage.format_version))
93 throw Exception("Cannot parse part info from name : " + part_name, ErrorCodes::BROKEN_META_DATA);
94
95 DiskPtr disk_ptr = storage.getStoragePolicy(IStorage::StorageLocation::MAIN)->getDiskByID(part_data.disk_id());
96 if (!disk_ptr)
97 throw Exception("Cannot get the disk with id '" + std::to_string(part_data.disk_id()) + "' for part : " + part_name, ErrorCodes::UNKNOWN_DISK);
98
99 auto single_disk_volume = std::make_shared<SingleDiskVolume>("volume_" + part_name, disk_ptr, 0);
100 MergeTreeDataPartType type;
101 type.fromString(part_data.type());
102 MutableDataPartPtr part = storage.createPart(part_name, type, part_info, single_disk_volume, part_name);
103
104 deserializePartCommon(part_data, part);
105
106 return part;
107}
108
109MutableDataPartPtr buildProjectionFromMeta(const MergeTreeMetaBase & storage, const String & projection_name, const Protos::DataPartModel & part_data, const IMergeTreeDataPart * parent)
110{

Callers 1

loadFromMetastoreMethod · 0.85

Calls 8

deserializePartCommonFunction · 0.85
getDiskByIDMethod · 0.80
createPartMethod · 0.80
ExceptionClass · 0.50
to_stringFunction · 0.50
getStoragePolicyMethod · 0.45
fromStringMethod · 0.45
typeMethod · 0.45

Tested by

no test coverage detected