MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / getOrInitDatabaseHeader

Method getOrInitDatabaseHeader

src/storage/storage_manager.cpp:557–566  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

555}
556
557const storage::DatabaseHeader* StorageManager::getOrInitDatabaseHeader(
558 const main::ClientContext& clientContext) {
559 if (databaseHeader == nullptr) {
560 // We should only create the database header if a persistent one doesn't exist
561 DASSERT(std::nullopt == DatabaseHeader::readDatabaseHeader(*dataFH->getFileInfo()));
562 databaseHeader = std::make_unique<DatabaseHeader>(
563 DatabaseHeader::createInitialHeader(RandomEngine::Get(clientContext)));
564 }
565 return databaseHeader.get();
566}
567
568void StorageManager::setDatabaseHeader(std::unique_ptr<storage::DatabaseHeader> header) {
569 DASSERT(!databaseHeader || header->databaseID.value == databaseHeader->databaseID.value);

Callers 6

checkForLeakedPagesMethod · 0.80
internalTableFuncFunction · 0.80
writeCheckpointMethod · 0.80
beginCheckpointMethod · 0.80
dropGraphMethod · 0.80

Calls 2

getFileInfoMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected