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

Method pushPage

fdbserver/VersionedBTree.actor.cpp:7450–7475  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

7448 void popPath() { path.pop_back(); }
7449
7450 Future<Void> pushPage(const BTreePage::BinaryTree::Cursor& link) {
7451 debug_printf("pushPage(link=%s)\n", link.get().toString(false).c_str());
7452 return map(readPage(btree,
7453 reason,
7454 path.back().btPage()->height - 1,
7455 pager.getPtr(),
7456 link.get().getChildPage(),
7457 ioMaxPriority,
7458 false,
7459 true),
7460 [=](Reference<const ArenaPage> p) {
7461#if REDWOOD_DEBUG
7462 path.push_back({ p, btree->getCursor(p.getPtr(), link), link.get().getChildPage() });
7463#else
7464 path.push_back({ p, btree->getCursor(p.getPtr(), link) });
7465#endif
7466
7467 if (btree->m_pBoundaryVerifier != nullptr) {
7468 ASSERT(btree->m_pBoundaryVerifier->verify(link.get().getChildPage().front(),
7469 pager->getVersion(),
7470 link.get().key,
7471 link.next().getOrUpperBound().key));
7472 }
7473 return Void();
7474 });
7475 }
7476
7477 Future<Void> pushPage(BTreeNodeLinkRef id) {
7478 debug_printf("pushPage(root=%s)\n", ::toString(id).c_str());

Callers 2

seek_implMethod · 0.95
Future<Void> move_implFunction · 0.80

Calls 15

mapFunction · 0.85
readPageFunction · 0.85
getChildPageMethod · 0.80
frontMethod · 0.80
toStringFunction · 0.70
getMethod · 0.65
nextMethod · 0.65
VoidClass · 0.50
c_strMethod · 0.45
toStringMethod · 0.45
btPageMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected