MCPcopy Create free account
hub / github.com/apple/foundationdb / makeEmptyRoot

Function makeEmptyRoot

fdbserver/VersionedBTree.actor.cpp:5103–5115  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5101 }
5102
5103 ACTOR static Future<Reference<ArenaPage>> makeEmptyRoot(VersionedBTree* self) {
5104 state Reference<ArenaPage> page = self->m_pager->newPageBuffer();
5105 page->init(self->m_encodingType, PageType::BTreeNode, 1);
5106 if (page->isEncrypted()) {
5107 EncryptionKey k = wait(self->m_keyProvider->getByRange(dbBegin.key, dbEnd.key));
5108 page->encryptionKey = k;
5109 }
5110
5111 BTreePage* btpage = (BTreePage*)page->mutateData();
5112 btpage->init(1, 0);
5113 btpage->tree()->build(page->dataSize() - sizeof(BTreePage), nullptr, nullptr, nullptr, nullptr);
5114 return page;
5115 }
5116
5117 void toTraceEvent(TraceEvent& e) const {
5118 m_pager->toTraceEvent(e);

Callers 2

Future<Void> init_implFunction · 0.85
Future<Void> commit_implFunction · 0.85

Calls 7

isEncryptedMethod · 0.80
mutateDataMethod · 0.80
treeMethod · 0.80
dataSizeMethod · 0.80
initMethod · 0.45
getByRangeMethod · 0.45
buildMethod · 0.45

Tested by

no test coverage detected