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

Method unpin

src/storage/disk_array.cpp:368–378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

366}
367
368void DiskArrayInternal::WriteIterator::unpin() {
369 if (shadowPageAndFrame.shadowPage != INVALID_PAGE_IDX) {
370 // unpin current page
371 diskArray.shadowFile->getShadowingFH().unpinPage(shadowPageAndFrame.shadowPage);
372 shadowPageAndFrame.shadowPage = INVALID_PAGE_IDX;
373 } else if (shadowPageAndFrame.originalPage != INVALID_PAGE_IDX) {
374 diskArray.fileHandle.setLockedPageDirty(shadowPageAndFrame.originalPage);
375 diskArray.fileHandle.unpinPage(shadowPageAndFrame.originalPage);
376 shadowPageAndFrame.originalPage = INVALID_PAGE_IDX;
377 }
378}
379
380void DiskArrayInternal::WriteIterator::getPage(page_idx_t newPageIdx, bool isNewlyAdded) {
381 unpin();

Callers 2

unpinPageMethod · 0.45

Calls 2

unpinPageMethod · 0.80
setLockedPageDirtyMethod · 0.80

Tested by

no test coverage detected