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

Method cachePageIntoFrame

src/storage/buffer_manager/buffer_manager.cpp:469–483  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

467}
468
469void BufferManager::cachePageIntoFrame(FileHandle& fileHandle, page_idx_t pageIdx,
470 PageReadPolicy pageReadPolicy) {
471 auto pageState = fileHandle.getPageState(pageIdx);
472 pageState->clearDirty();
473#if BM_MALLOC
474 pageState->allocatePage(fileHandle.getPageSize());
475 if (pageReadPolicy == PageReadPolicy::READ_PAGE) {
476 fileHandle.readPageFromDisk(pageState->getPage(), pageIdx);
477 }
478#else
479 if (pageReadPolicy == PageReadPolicy::READ_PAGE) {
480 fileHandle.readPageFromDisk(getFrame(fileHandle, pageIdx), pageIdx);
481 }
482#endif
483}
484
485void BufferManager::removeFilePagesFromFrames(FileHandle& fileHandle) {
486 for (auto pageIdx = 0u; pageIdx < fileHandle.getNumPages(); ++pageIdx) {

Callers

nothing calls this directly

Calls 6

getPageStateMethod · 0.80
clearDirtyMethod · 0.80
readPageFromDiskMethod · 0.80
allocatePageMethod · 0.45
getPageSizeMethod · 0.45
getPageMethod · 0.45

Tested by

no test coverage detected