LCOV - differential code coverage report
Current view: top level - src/backend/storage/buffer - bufmgr.c (source / functions) Coverage Total Hit UNC LBC UBC GBC GIC GNC CBC DUB DCB
Current: c38de3ae6098ccf1904109f2e550eb4777f66024 vs e352ac8c5c90ed6ce792f044c22145578542a330 Lines: 91.9 % 2431 2233 1 2 195 2 10 2221 1 10
Current Date: 2026-11-05 14:14:01 +0100 Functions: 96.5 % 144 139 5 4 135
Baseline: lcov-20261105-baseline Branches: 72.1 % 1841 1327 1 1 512 3 4 3 1317
Baseline Date: 2026-11-05 14:14:01 +0100 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 100.0 % 2 2 2
(30,360] days: 92.3 % 699 645 1 53 10 635
(360..) days: 91.7 % 1730 1586 2 142 2 1584
Function coverage date bins:
(30,360] days: 94.3 % 35 33 2 33
(360..) days: 97.2 % 109 106 3 4 102
Branch coverage date bins:
(30,360] days: 74.3 % 501 372 1 128 2 2 3 365
(360..) days: 71.3 % 1340 955 1 384 1 2 952

Function Name Sort by function name TLA Hit count Sort by function hit count Lines Sort by unexercised lines in function Branches Sort by unexercised branches in function
BufferLockDisown UBC 0 0.0 % (0 / 4) 0.0 % (0 / 2)
ResOwnerPrintBuffer UBC 0 0.0 % (0 / 2)
ResOwnerPrintBufferIO UBC 0 0.0 % (0 / 3)
buffertag_comparator UBC 0 0.0 % (0 / 15) 0.0 % (0 / 10)
local_buffer_write_error_callback UBC 0 0.0 % (0 / 6) 0.0 % (0 / 2)
EvictAllUnpinnedBuffers CBC 1 94.7 % (18 / 19) 80.0 % (8 / 10)
MarkDirtyAllUnpinnedBuffers CBC 1 94.7 % (18 / 19) 80.0 % (8 / 10)
MarkDirtyRelUnpinnedBuffers CBC 1 52.0 % (13 / 25) 38.9 % (7 / 18)
MarkDirtyUnpinnedBuffer CBC 1 100.0 % (10 / 10) 33.3 % (2 / 6)
HoldingBufferPinThatDelaysRecovery GNC 3 85.7 % (6 / 7) 75.0 % (3 / 4)
FlushRelationsAllBuffers CBC 4 87.9 % (29 / 33) 77.3 % (17 / 22)
FlushDatabaseBuffers CBC 5 100.0 % (15 / 15) 87.5 % (7 / 8)
AbortBufferIO CBC 15 69.2 % (9 / 13) 25.0 % (3 / 12)
ResOwnerReleaseBufferIO CBC 15 100.0 % (4 / 4)
EvictRelUnpinnedBuffers CBC 29 88.0 % (22 / 25) 72.2 % (13 / 18)
MarkDirtyUnpinnedBufferInternal CBC 36 90.0 % (18 / 20) 75.0 % (6 / 8)
shared_buffer_write_error_callback CBC 41 100.0 % (6 / 6) 50.0 % (1 / 2)
DebugPrintBufferRefcount CBC 46 100.0 % (13 / 13) 75.0 % (3 / 4)
WakePinCountWaiter CBC 74 100.0 % (10 / 10) 75.0 % (3 / 4)
DropDatabaseBuffers CBC 88 90.0 % (9 / 10) 83.3 % (5 / 6)
BufferIsLockedByMe CBC 110 83.3 % (5 / 6) 50.0 % (4 / 8)
FlushOneBuffer CBC 110 100.0 % (7 / 7) 50.0 % (5 / 10)
EvictUnpinnedBuffer CBC 137 100.0 % (7 / 7) 50.0 % (2 / 4)
FlushRelationBuffers CBC 181 100.0 % (31 / 31) 93.8 % (15 / 16)
buffer_readv_encode_error CBC 192 100.0 % (31 / 31) 75.0 % (18 / 24)
buffer_readv_report CBC 272 97.2 % (35 / 36) 71.1 % (27 / 38)
WaitIO CBC 299 100.0 % (17 / 17) 83.3 % (5 / 6)
buffer_readv_decode_error CBC 642 100.0 % (13 / 13)
WaitBufHdrUnlocked CBC 759 100.0 % (8 / 8) 100.0 % (2 / 2)
DropRelationBuffers CBC 819 100.0 % (32 / 32) 92.9 % (26 / 28)
FindAndDropRelationBuffers CBC 854 94.4 % (17 / 18) 70.0 % (7 / 10)
BufferLockDequeueSelf CBC 1049 90.0 % (18 / 20) 83.3 % (10 / 12)
IssuePendingWritebacks CBC 1284 10.7 % (3 / 28) 5.6 % (1 / 18)
BufferSync CBC 2031 97.4 % (75 / 77) 85.3 % (29 / 34)
CheckPointBuffers CBC 2031 100.0 % (3 / 3)
EvictUnpinnedBufferInternal CBC 2460 76.5 % (13 / 17) 62.5 % (5 / 8)
IsBufferCleanupOK CBC 2707 64.7 % (11 / 17) 42.9 % (6 / 14)
local_buffer_readv_complete CBC 3048 100.0 % (2 / 2)
local_buffer_readv_stage CBC 3048 100.0 % (3 / 3)
ReleaseAndReadBuffer CBC 3687 66.7 % (12 / 18) 40.9 % (9 / 22)
ReadRecentBuffer CBC 5448 95.2 % (20 / 21) 71.4 % (10 / 14)
ResOwnerReleaseBuffer CBC 12292 92.9 % (13 / 14) 60.0 % (6 / 10)
DropRelationsAllBuffers GNC 17694 96.7 % (58 / 60) 95.7 % (44 / 46)
BgBufferSync CBC 21858 96.9 % (63 / 65) 90.5 % (38 / 42)
AtProcExit_Buffers CBC 24251 100.0 % (5 / 5)
InitBufferManagerAccess CBC 24251 100.0 % (9 / 9) 50.0 % (1 / 2)
WritebackContextInit CBC 26196 100.0 % (5 / 5) 50.0 % (1 / 2)
PrefetchBuffer CBC 28832 87.5 % (7 / 8) 50.0 % (6 / 12)
BufferLockWakeup CBC 34326 97.6 % (40 / 41) 89.5 % (34 / 38)
LockBufferForCleanup GNC 34586 90.0 % (54 / 60) 76.2 % (32 / 42)
BufferLockQueueSelf CBC 37035 83.3 % (10 / 12) 25.0 % (2 / 8)
PrefetchSharedBuffer CBC 40574 100.0 % (15 / 15) 75.0 % (6 / 8)
ExtendBufferedRelTo CBC 55540 100.0 % (36 / 36) 71.7 % (43 / 60)
ExtendBufferedRel CBC 56169 100.0 % (4 / 4)
CreateAndCopyRelationData CBC 61404 100.0 % (14 / 14) 60.0 % (6 / 10)
UnlockBuffers CBC 65702 36.4 % (4 / 11) 16.7 % (1 / 6)
RelationCopyStorageUsingBuffer CBC 81684 100.0 % (32 / 32) 65.0 % (13 / 20)
InvalidateBuffer CBC 133141 96.2 % (25 / 26) 58.3 % (7 / 12)
ExtendBufferedRelBy CBC 208570 100.0 % (7 / 7) 40.0 % (4 / 10)
ConditionalLockBufferForCleanup CBC 229575 100.0 % (24 / 24) 77.8 % (14 / 18)
ExtendBufferedRelShared CBC 250848 82.4 % (70 / 85) 56.5 % (52 / 92)
LimitAdditionalPins CBC 250848 100.0 % (7 / 7) 100.0 % (4 / 4)
ExtendBufferedRelCommon CBC 266449 100.0 % (8 / 8) 70.0 % (7 / 10)
ts_ckpt_progress_comparator CBC 287058 100.0 % (8 / 8) 100.0 % (4 / 4)
BufferFinishSetHintBits CBC 305427 100.0 % (6 / 6) 87.5 % (7 / 8)
BufferBeginSetHintBits CBC 305439 100.0 % (5 / 5) 100.0 % (2 / 2)
ZeroAndLockBuffer CBC 357895 100.0 % (24 / 24) 90.0 % (18 / 20)
FlushUnlockedBuffer CBC 379866 100.0 % (6 / 6)
PinBuffer_Locked CBC 381310 100.0 % (6 / 6) 50.0 % (1 / 2)
AtEOXact_Buffers CBC 429260 100.0 % (5 / 5) 50.0 % (1 / 2)
CheckForBufferLeaks CBC 453511 38.9 % (7 / 18) 35.7 % (5 / 14)
GetPinLimit CBC 634582 100.0 % (2 / 2)
ScheduleBufferTagForWriteback CBC 709582 70.0 % (7 / 10) 60.0 % (6 / 10)
FlushBuffer CBC 713210 100.0 % (22 / 22) 90.0 % (9 / 10)
MarkBufferDirtyHint CBC 731672 88.9 % (8 / 9) 50.0 % (3 / 6)
shared_buffer_readv_complete CBC 1236079 100.0 % (2 / 2)
buffer_readv_complete CBC 1239127 100.0 % (41 / 41) 88.6 % (39 / 44)
InvalidateVictimBuffer CBC 1312870 100.0 % (26 / 26) 58.3 % (14 / 24)
shared_buffer_readv_complete_local CBC 1373969 100.0 % (8 / 8) 100.0 % (4 / 4)
shared_buffer_readv_stage CBC 1373969 100.0 % (3 / 3)
ProcessReadBuffersResult CBC 1376528 100.0 % (18 / 18) 72.7 % (16 / 22)
buffer_stage_common CBC 1377017 88.9 % (32 / 36) 57.5 % (23 / 40)
WaitReadBuffers CBC 1378157 97.6 % (40 / 41) 76.7 % (23 / 30)
AsyncReadBuffers CBC 1379303 100.0 % (70 / 70) 82.5 % (33 / 40)
buffer_readv_complete_one CBC 1381669 100.0 % (44 / 44) 88.2 % (30 / 34)
ConditionalLockBuffer CBC 1473061 100.0 % (6 / 6) 75.0 % (6 / 8)
StartBufferIO CBC 1555435 100.0 % (6 / 6) 100.0 % (2 / 2)
StartReadBuffers CBC 1690750 100.0 % (2 / 2)
BufferLockConditional CBC 1742149 90.0 % (9 / 10) 66.7 % (4 / 6)
GetVictimBuffer CBC 2139769 100.0 % (33 / 33) 86.7 % (26 / 30)
RelationGetNumberOfBlocksInFork CBC 2293407 85.7 % (6 / 7) 62.5 % (10 / 16)
SyncOneBuffer CBC 2654918 100.0 % (21 / 21) 100.0 % (10 / 10)
TerminateBufferIO CBC 2681529 95.0 % (19 / 20) 78.6 % (11 / 14)
StartSharedBufferIO CBC 2855446 100.0 % (21 / 21) 100.0 % (12 / 12)
GetAdditionalPinLimit CBC 3363022 100.0 % (5 / 5) 100.0 % (2 / 2)
ckpt_buforder_comparator CBC 3500492 100.0 % (18 / 18) 100.0 % (16 / 16)
CheckBufferIsPinnedOnce CBC 4431027 71.4 % (5 / 7) 40.0 % (4 / 10)
ReadBufferWithoutRelcache CBC 5950354 100.0 % (3 / 3) 50.0 % (1 / 2)
BufferGetLSNAtomic CBC 8288747 100.0 % (4 / 4) 62.5 % (5 / 8)
rlocator_comparator CBC 13306469 75.0 % (12 / 16) 66.7 % (8 / 12)
IncrBufferRefCount CBC 14088845 100.0 % (10 / 10) 70.0 % (7 / 10)
SharedBufferBeginSetHintBits CBC 15265403 90.9 % (20 / 22) 61.1 % (11 / 18)
MarkSharedBufferDirtyHint CBC 15680602 100.0 % (25 / 25) 85.7 % (24 / 28)
BufferSetHintBits16 CBC 15862013 100.0 % (13 / 13) 75.0 % (6 / 8)
BufferIsPermanent CBC 17641545 100.0 % (7 / 7) 60.0 % (6 / 10)
BufferLockHeldByMe CBC 21894558 80.0 % (4 / 5) 50.0 % (1 / 2)
BufferGetTag CBC 27790129 88.9 % (8 / 9) 50.0 % (4 / 8)
BufferIsDirty CBC 27839835 75.0 % (6 / 8) 58.3 % (7 / 12)
LockBufHdr CBC 28630954 100.0 % (11 / 11) 83.3 % (5 / 6)
MarkBufferDirty CBC 34582242 95.2 % (20 / 21) 66.7 % (16 / 24)
UnpinBuffer CBC 40142684 100.0 % (5 / 5)
UnpinBufferNoOwner CBC 40149889 100.0 % (14 / 14) 66.7 % (8 / 12)
ReleaseBuffer CBC 40571023 85.7 % (6 / 7) 50.0 % (3 / 6)
AssertNotCatalogBufferLock CBC 41023376 88.9 % (8 / 9) 66.7 % (4 / 6)
BufferLockUnlock CBC 55297499 100.0 % (7 / 7) 50.0 % (1 / 2)
UnlockReleaseBuffer CBC 58058787 100.0 % (21 / 21) 72.2 % (13 / 18)
UnlockBuffer CBC 60329341 100.0 % (6 / 6) 75.0 % (6 / 8)
ReadBuffer CBC 62915153 100.0 % (2 / 2)
ReadBufferExtended CBC 74263472 100.0 % (3 / 3)
ForgetPrivateRefCountEntry CBC 75892263 100.0 % (11 / 11) 60.0 % (6 / 10)
NewPrivateRefCountEntry CBC 75892263 100.0 % (10 / 10) 50.0 % (1 / 2)
TrackNewBufferPin CBC 75892263 100.0 % (5 / 5)
ReadBuffer_common GNC 80213828 96.8 % (30 / 31) 89.3 % (25 / 28)
PinBuffer CBC 80584174 100.0 % (28 / 28) 87.5 % (21 / 24)
StartReadBuffer CBC 82006932 100.0 % (5 / 5) 50.0 % (1 / 2)
TrackBufferHit CBC 82358976 100.0 % (10 / 10) 100.0 % (14 / 14)
BufferAlloc CBC 82439655 100.0 % (42 / 42) 87.5 % (14 / 16)
StartReadBuffersImpl CBC 83697682 94.6 % (53 / 56) 76.1 % (35 / 46)
PinBufferForBlock CBC 84231060 100.0 % (11 / 11) 90.9 % (20 / 22)
CheckReadBuffersOperation CBC 86455411 100.0 % (13 / 13) 72.2 % (13 / 18)
ReservePrivateRefCountEntry CBC 87616835 100.0 % (23 / 23) 75.0 % (12 / 16)
BufferLockAcquire CBC 110155864 89.5 % (34 / 38) 66.7 % (10 / 15)
BufferLockDisownInternal CBC 111896644 85.7 % (6 / 7) 25.0 % (1 / 4)
BufferLockProcessRelease CBC 111896644 100.0 % (15 / 15) 91.7 % (11 / 12)
BufferLockReleaseSub CBC 111896644 100.0 % (7 / 7) 83.3 % (5 / 6)
BufferLockAttempt CBC 111971034 100.0 % (19 / 19) 100.0 % (14 / 14)
LockBufferInternal CBC 116534138 78.6 % (11 / 14) 50.0 % (11 / 22)
BufferIsLockedByMeInMode CBC 116534645 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCountEntrySlow CBC 125927375 100.0 % (30 / 30) 80.0 % (16 / 20)
BufferLockHeldByMeInMode CBC 139110897 80.0 % (4 / 5) 50.0 % (1 / 2)
AssertBufferLocksPermitCatalogRead CBC 142187558 91.7 % (11 / 12) 90.0 % (9 / 10)
BufferGetBlockNumber CBC 225737517 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCount CBC 708596928 100.0 % (7 / 7) 66.7 % (4 / 6)
GetPrivateRefCountEntry CBC 1300005319 100.0 % (7 / 7) 75.0 % (6 / 8)

Generated by: LCOV version 2.0-1